Tutorial: Buat pipeline dengan sumber Amazon ECR dan penyebaran ECS-to-Codedeploy - AWS CodePipeline

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Buat pipeline dengan sumber Amazon ECR dan penyebaran ECS-to-Codedeploy

Dalam tutorial ini, Anda mengonfigurasi pipeline diAWS CodePipelineyang menyebarkan aplikasi container menggunakan deployment biru/hijau yang mendukung gambar Docker. Dalam penyebaran biru/hijau, Anda dapat meluncurkan versi baru aplikasi Anda bersama versi lama dan menguji versi baru sebelum Anda mengalihkan lalu lintas. Anda juga dapat memantau proses penyebaran dan dengan cepat memutar kembali jika ada masalah.

catatan

Tutorial ini adalah untuk Amazon ECS untuk CodeDeploy tindakan penyebaran biru/hijau untuk CodePipeline. Untuk tutorial yang menggunakan tindakan penerapan standar Amazon ECS di CodePipeline, lihatTutorial: Penyebaran Standar Amazon ECS dengan CodePipeline.

Pipa yang telah selesai mendeteksi perubahan pada gambar Anda, yang disimpan dalam repositori gambar seperti Amazon ECR, dan menggunakan CodeDeploy untuk merutekan dan menyebarkan lalu lintas ke klaster Amazon ECS dan penyeimbang beban. CodeDeploy menggunakan pendengar untuk mengalihkan lalu lintas ke port kontainer yang diperbarui yang ditentukan dalam file AppSpec. Untuk informasi tentang cara penyeimbang beban, pendengar produksi, grup target, dan aplikasi Amazon ECS Anda digunakan dalam penyebaran biru/hijau, lihatTutorial: Menerapkan Layanan Amazon ECS.

Saluran pipa juga dikonfigurasi untuk menggunakan lokasi sumber, seperti CodeCommit, tempat definisi tugas Amazon ECS Anda disimpan. Dalam tutorial ini, Anda mengonfigurasi masing-masingAWSsumber daya dan kemudian membuat pipa Anda dengan tahapan yang berisi tindakan untuk setiap sumber daya.

Pipa pengiriman berkelanjutan Anda akan secara otomatis membuat dan menyebarkan gambar kontainer setiap kali kode sumber diubah atau gambar dasar baru diunggah ke Amazon ECR.

Aliran ini menggunakan artefak berikut:

  • File gambar Docker yang menentukan nama kontainer dan URI repositori dari repositori gambar Amazon ECR Anda.

  • Definisi tugas Amazon ECS yang mencantumkan nama gambar Docker, nama kontainer, nama layanan Amazon ECS, dan konfigurasi load balancer.

  • File CodeDeploy AppSpec yang menentukan nama file definisi tugas Amazon ECS, nama kontainer aplikasi yang diperbarui, dan port kontainer tempat CodeDeploy mengalihkan lalu lintas produksi. Ini juga dapat menentukan konfigurasi jaringan opsional dan fungsi Lambda yang dapat Anda jalankan selama pengait acara siklus hidup penyebaran.

catatan

Saat Anda melakukan perubahan ke repositori gambar Amazon ECR Anda, tindakan sumber pipa akan membuatimageDetail.jsonfile untuk komit itu. Untuk informasi tentangimageDetail.jsonfile, lihatFile ImageDetail.json untuk tindakan penyebaran biru/hijau Amazon ECS.

Saat Anda membuat atau mengedit pipeline dan memperbarui atau menentukan artefak sumber untuk tahap penyebaran Anda, pastikan untuk menunjuk ke artefak sumber dengan nama dan versi terbaru yang ingin Anda gunakan. Setelah mengatur pipeline, saat Anda membuat perubahan pada gambar atau definisi tugas, Anda mungkin perlu memperbarui file artefak sumber Anda di repositori Anda dan kemudian mengedit tahap penyebaran di pipeline Anda.

Prasyarat

Anda harus sudah membuat sumber daya berikut:

  • Repositori CodeCommit. Anda dapat menggunakanAWS CodeCommitrepositori yang Anda buatTutorial: Buat pipa sederhana (repositori CodeCommit).

  • Luncurkan instans Linux Amazon EC2 dan instal Docker untuk membuat gambar seperti yang ditunjukkan dalam tutorial ini. Jika Anda sudah memiliki gambar yang ingin Anda gunakan, Anda dapat melewati prasyarat ini.

Langkah 1: Buat citra dan dorong ke repositori Amazon ECR

Pada bagian ini, Anda menggunakan Docker untuk membuat gambar dan kemudian menggunakanAWS CLIuntuk membuat repositori Amazon ECR dan mendorong gambar ke repositori.

catatan

Jika Anda sudah memiliki gambar yang ingin Anda gunakan, Anda dapat melewati langkah ini.

Membuat citra

  1. Masuk ke instans Linux Anda di mana Anda menginstal Docker.

    Tarik ke bawah gambar untuknginx. Perintah ini menyediakannginx:latestgambar dari Docker Hub:

    docker pull nginx
  2. Jalankan docker images. Anda akan melihat gambar dalam daftar.

    docker images

Untuk membuat repositori Amazon ECR dan mendorong citra Anda

  1. Buat repositori Amazon ECR untuk menyimpan citra Anda. PerhatikanrepositoryUridalam outputnya.

    aws ecr create-repository --repository-name nginx

    Output:

    { "repository": { "registryId": "aws_account_id", "repositoryName": "nginx", "repositoryArn": "arn:aws:ecr:us-east-1:aws_account_id:repository/nginx", "createdAt": 1505337806.0, "repositoryUri": "aws_account_id.dkr.ecr.us-east-1.amazonaws.com/nginx" } }
  2. Tandai gambar denganrepositoryUrinilai dari langkah sebelumnya.

    docker tag nginx:latest aws_account_id.dkr.ecr.us-east-1.amazonaws.com/nginx:latest
  3. Jalankanaws ecr get-login-passwordperintah, seperti yang ditunjukkan dalam contoh ini untukus-west-2Wilayah.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin ACCOUNT_ID.dkr.ecr.us-west-2.amazonaws.com/nginx
  4. Dorong citra ke Amazon ECR menggunakanrepositoryUridari langkah sebelumnya.

    docker push aws_account_id.dkr.ecr.us-east-1.amazonaws.com/nginx:latest

Langkah 2: Buat definisi tugas dan file sumber AppSpec dan dorong ke repositori CodeCommit

Pada bagian ini, Anda membuat file JSON definisi tugas dan mendaftarkannya dengan Amazon ECS. Anda kemudian membuat file AppSpec untuk CodeDeploy dan menggunakan klien Git Anda untuk mendorong file ke repositori CodeCommit Anda.

Untuk membuat ketentuan tugas untuk citra Anda

  1. Buat file yang diberi nama taskdef.json dengan konten berikut ini. Untukimage, masukkan nama gambar Anda, seperti nginx. Nilai ini diperbarui saat pipa Anda berjalan.

    catatan

    Pastikan bahwa peran eksekusi yang ditentukan dalam definisi tugas berisiAmazonECSTaskExecutionRolePolicy. Untuk informasi selengkapnya, lihatPeran IAM Eksekusi Tugas Amazon ECSdiPanduan Developer Amazon ECS.

    { "executionRoleArn": "arn:aws:iam::account_ID:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "sample-website", "image": "nginx", "essential": true, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "cpu": "256", "memory": "512", "family": "ecs-demo" }
  2. Daftarkan ketentuan tugas Anda dengantaskdef.jsonberkas.

    aws ecs register-task-definition --cli-input-json file://taskdef.json
  3. Setelah definisi tugas terdaftar, edit file Anda untuk menghapus nama gambar dan menyertakan<IMAGE1_NAME>teks placeholder di bidang gambar.

    { "executionRoleArn": "arn:aws:iam::account_ID:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "sample-website", "image": "<IMAGE1_NAME>", "essential": true, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "cpu": "256", "memory": "512", "family": "ecs-demo" }

Untuk membuat file AppSpec

  • File AppSpec digunakan untuk penyebaran CodeDeploy. File, yang mencakup bidang opsional, menggunakan format ini:

    version: 0.0 Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: "task-definition-ARN" LoadBalancerInfo: ContainerName: "container-name" ContainerPort: container-port-number # Optional properties PlatformVersion: "LATEST" NetworkConfiguration: AwsvpcConfiguration: Subnets: ["subnet-name-1", "subnet-name-2"] SecurityGroups: ["security-group"] AssignPublicIp: "ENABLED" Hooks: - BeforeInstall: "BeforeInstallHookFunctionName" - AfterInstall: "AfterInstallHookFunctionName" - AfterAllowTestTraffic: "AfterAllowTestTrafficHookFunctionName" - BeforeAllowTraffic: "BeforeAllowTrafficHookFunctionName" - AfterAllowTraffic: "AfterAllowTrafficHookFunctionName"

    Untuk informasi selengkapnya tentang file AppSpec, termasuk contoh, lihatCodeDeploy AppSpec Berkas Referensi.

    Buat file yang diberi nama appspec.yaml dengan konten berikut ini. UntukTaskDefinition, tidak mengubah<TASK_DEFINITION>teks placeholder. Nilai ini diperbarui saat pipa Anda berjalan.

    version: 0.0 Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: <TASK_DEFINITION> LoadBalancerInfo: ContainerName: "sample-website" ContainerPort: 80

Untuk mendorong file ke repositori CodeCommit

  1. Mendorong atau meng-upload file ke repositori CodeCommit Anda. File-file ini adalah artefak sumber yang dibuat olehMembuat Alurwizard untuk tindakan penyebaran Anda di CodePipeline. File Anda akan terlihat seperti ini di direktori lokal Anda:

    /tmp |my-demo-repo |-- appspec.yaml |-- taskdef.json
  2. Pilih metode yang ingin Anda gunakan untuk mengunggah file:

    1. Untuk menggunakan git command line Anda dari repositori kloning pada komputer lokal Anda:

      1. Ubah direktori ke repositori lokal Anda:

        (For Linux, macOS, or Unix) cd /tmp/my-demo-repo (For Windows) cd c:\temp\my-demo-repo
      2. Jalankan perintah berikut ini untuk melakukan tahapan semua file sekaligus:

        git add -A
      3. Jalankan perintah berikut untuk melakukan file dengan pesan commit:

        git commit -m "Added task definition files"
      4. Jalankan perintah berikut untuk mendorong file dari repo lokal Anda ke repositori CodeCommit Anda:

        git push
    2. Untuk menggunakan konsol CodeCommit untuk mengunggah file Anda:

      1. Buka konsol CodeCommit, dan pilih repositori Anda dariRepositoridaftar.

      2. PilihTambahkan berkas, dan kemudian pilihMeng-unggah file.

      3. PilihPilih file, lalu telusuri file Anda. Lakukan perubahan dengan memasukkan nama pengguna dan alamat email Anda. Pilih Perubahan commit.

      4. Ulangi langkah ini untuk setiap file yang ingin Anda unggah.

Langkah 3: Buat Application Load Balancer dan grup target

Di bagian ini, Anda membuat Application Load Balancer Amazon EC2. Anda menggunakan nama subnet dan nilai grup target yang Anda buat dengan penyeimbang muatan nanti, saat Anda membuat layanan Amazon ECS. Anda dapat membuat Application Load Balancer atau Network Load Balancer. Penyeimbang beban harus menggunakan VPC dengan dua subnet publik di Availability Zone yang berbeda. Dalam langkah-langkah ini, Anda mengkonfirmasi VPC default Anda, membuat penyeimbang beban, dan kemudian membuat dua grup target untuk penyeimbang beban Anda. Untuk informasi selengkapnya, lihatGrup Target untuk Penyeimbang Beban Jaringan Anda.

Untuk memverifikasi VPC default dan subnet publik

  1. Masuk ke AWS Management Console dan buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.

  2. Verifikasi VPC default untuk digunakan. Pada panel navigasi, pilih VPC Anda. Perhatikan yang VPC menunjukkanyadiVPC Defaultkolom. Ini adalah VPC default. Ini berisi subnet default bagi Anda untuk memilih.

  3. PilihSubnet. Pilih dua subnet yang ditampilkanyadiSubnet defaultkolom.

    catatan

    Catat ID subnet Anda. Anda membutuhkannya nanti di tutorial ini.

  4. Pilih subnet, lalu pilihDeskripsitab. Verifikasi bahwa subnet yang ingin Anda gunakan berada di Availability Zone yang berbeda.

  5. Pilih subnet, lalu pilihTabel Rutetab. Untuk memverifikasi bahwa setiap subnet yang ingin Anda gunakan adalah subnet publik, konfirmasikan bahwa baris gateway disertakan dalam tabel rute.

Untuk membuat Application Load Balancer Amazon EC2

  1. Masuk ke AWS Management Console dan buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Load Balancers.

  3. Pilih Buat Penyeimbang Beban.

  4. PilihApplication Load Balancer, dan kemudian pilihBuat.

  5. MasukNama, masukkan nama penyeimbang beban Anda.

  6. MasukSkema, chooseinternet-menghadap.

  7. MasukJenis alamat IP, chooseipv4.

  8. Konfigurasikan dua port pendengar untuk penyeimbang beban Anda:

    1. Di bawahProtokol Load Balancer, chooseHTTP. Di bawahLoad Balancer PelabuhanENTER80.

    2. Pilih Tambahkan pendengar.

    3. Di bawahProtokol Load Balanceruntuk pendengar kedua, pilihHTTP. Di bawahLoad Balancer PelabuhanENTER8080.

  9. Di bawahAvailability Zone, diVPC, pilih VPC default. Selanjutnya, pilih dua subnet default yang ingin Anda gunakan.

  10. Pilih Next: Configure Security Settings.

  11. Pilih Next: Configure Security Groups.

  12. PilihPilih grup keamanan yang sudah ada, dan membuat catatan dari ID grup keamanan.

  13. Pilih Next: Configure Routing.

  14. MasukGrup target, chooseGrup target barudan konfigurasikan grup target pertama Anda:

    1. MasukNama, masukkan nama grup target (misalnya,target-group-1).

    2. MasukJenis target, chooseIP.

    3. MasukProtokolpilihHTTP. MasukPelabuhanENTER80.

    4. Pilih Next: Register Targets.

  15. Pilih Berikutnya: Tinjau, dan kemudian pilihBuat.

Untuk membuat grup target kedua untuk penyeimbang beban Anda

  1. Setelah penyeimbang beban disediakan, buka konsol Amazon EC2. Di panel navigasi, pilih Target Groups.

  2. PilihBuat grup target.

  3. MasukNama, masukkan nama grup target (misalnya,target-group-2).

  4. MasukJenis target, chooseIP.

  5. MasukProtokolpilihHTTP. MasukPelabuhanENTER8080.

  6. MasukVPC, pilih VPC default.

  7. Pilih Create (Buat).

    catatan

    Anda harus memiliki dua grup target yang dibuat untuk penyeimbang beban agar penyebaran Anda berjalan. Anda hanya perlu membuat catatan ARN grup target pertama Anda. ARN ini digunakan dalamcreate-serviceFile JSON di langkah selanjutnya.

Untuk memperbarui load balancer Anda untuk menyertakan grup target kedua

  1. Buka konsol Amazon EC2. Di panel navigasi, pilih Load Balancers.

  2. Pilih penyeimbang beban Anda, lalu pilihListenertab. Pilih pendengar dengan port 8080, lalu pilihMengedit.

  3. Pilih ikon pensil di sebelahTeruskan ke. Pilih grup target kedua Anda, lalu pilih tanda centang. PilihPerbaruiuntuk menyimpan pembaruan.

Langkah 4: Buat klaster dan layanan Amazon ECS

Pada bagian ini, Anda membuat klaster dan layanan Amazon ECS tempat CodeDeploy merutekan lalu lintas selama penerapan (ke klaster Amazon ECS, bukan instans EC2). Untuk membuat layanan Amazon ECS, Anda harus menggunakan nama subnet, grup keamanan, dan nilai grup target yang Anda buat dengan penyeimbang beban untuk membuat layanan Anda.

catatan

Bila Anda menggunakan langkah-langkah ini untuk membuat klaster Amazon ECS, Anda menggunakanHanya jaringancluster Template, yang ketentuanAWSKontainer Fargate.AWS Fargate adalah teknologi yang mengelola infrastruktur instans kontainer Anda untuk Anda. Anda tidak perlu memilih atau membuat instans Amazon EC2 secara manual untuk klaster Amazon ECS Anda.

Untuk membuat klaster Amazon ECS

  1. Buka konsol ECS Amazon di https://console.aws.amazon.com/ecs/.

  2. Di panel navigasi, pilih Kluster.

  3. Pilih Buat kluster.

  4. PilihHanya jaringancluster template yang menggunakanAWSFargate, dan kemudian pilihLangkah selanjutnya.

  5. Masukkan nama klaster padaKonfigurasi klasterhalaman. Anda dapat menambahkan tag opsional untuk sumber daya Anda. Pilih Create (Buat).

Untuk membuat layanan Amazon ECS

GunakanAWS CLIuntuk membuat layanan Anda di Amazon ECS.

  1. Buat file JSON dan beri namacreate-service.json. Tempelkan yang berikut ini ke file JSON.

    UntuktaskDefinitionlapangan, ketika Anda mendaftarkan definisi tugas di Amazon ECS, Anda memberikannya sebuah keluarga. Ini mirip dengan nama untuk beberapa versi ketentuan tugas, yang ditentukan dengan nomor revisi. Dalam contoh ini, gunakan”ecs-demo:1“untuk keluarga dan nomor revisi dalam file Anda. Gunakan nama subnet, grup keamanan, dan nilai grup target yang Anda buat dengan load balancerLangkah 3: Buat Application Load Balancer dan grup target .

    catatan

    Anda perlu menyertakan kelompok target ARN Anda dalam file ini. Buka konsol Amazon EC2 dan dari panel navigasi, di bawahPENYEIMBANGAN BEBAN, chooseGrup Target. Pilih grup target pertama Anda. Salin ARN Anda dariDeskripsitab.

    { "taskDefinition": "family:revision-number", "cluster": "my-cluster", "loadBalancers": [ { "targetGroupArn": "target-group-arn", "containerName": "sample-website", "containerPort": 80 } ], "desiredCount": 1, "launchType": "FARGATE", "schedulingStrategy": "REPLICA", "deploymentController": { "type": "CODE_DEPLOY" }, "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-1", "subnet-2" ], "securityGroups": [ "security-group" ], "assignPublicIp": "ENABLED" } } }
  2. Jalankancreate-serviceperintah, menentukan file JSON:

    penting

    Pastikan untuk menyertakan file:// sebelum nama file. Hal ini diperlukan dalam perintah ini.

    Contoh ini membuat layanan bernamamy-service.

    catatan

    Contoh perintah ini menciptakan layanan bernama my-service. Jika Anda sudah memiliki layanan dengan nama ini, perintah mengembalikan kesalahan.

    aws ecs create-service --service-name my-service --cli-input-json file://create-service.json

    Output mengembalikan bidang deskripsi untuk layanan Anda.

  3. Jalankandescribe-servicesperintah untuk memverifikasi bahwa layanan Anda telah dibuat.

    aws ecs describe-services --cluster cluster-name --services service-name

Langkah 5: Buat aplikasi CodeDeploy Anda dan grup deployment (platform komputasi ECS)

Saat Anda membuat grup aplikasi dan penyebaran CodeDeploy untuk platform komputasi Amazon ECS, aplikasi ini digunakan selama penerapan untuk mereferensikan grup penyebaran, grup target, pendengar, dan perilaku pengalihan lalu lintas yang benar.

Untuk membuat aplikasi CodeDeploy

  1. Buka konsol CodeDeploy dan pilihMembuat aplikasi.

  2. MasukNama aplikasi, masukkan nama yang ingin Anda gunakan.

  3. MasukPlatform komputasi, pilihAmazon ECS.

  4. Pilih Create application (Buat aplikasi).

Untuk membuat grup penyebaran CodeDeploy

  1. Pada halaman aplikasiGrup deploymenttab, pilihBuat grup deployment.

  2. MasukNama grup deployment, masukkan nama yang menggambarkan grup deployment.

  3. MasukPeran layanan, pilih peran layanan yang memberikan akses CodeDeploy ke Amazon ECS. Untuk membuat peran layanan baru, ikuti langkah-langkah ini:

    1. Buka konsol IAM dihttps://console.aws.amazon.com/iam/).

    2. Dari dasbor konsol, pilihPeran.

    3. Pilih Create role (Buat peran).

    4. Di bawahPilih jenis entitas tepercaya, pilihAWSlayanan. Di bawahPilih kasus penggunaan, pilihCodeDeploy. Di bawahPilih kasus penggunaan Anda, pilihCodeDeploy - ECS. Pilih Berikutnya: Izin. ParameterAWSCodeDeployRoleForECSkebijakan terkelola sudah dilampirkan ke peran tersebut.

    5. Pilih Berikutnya: Tag , dan Berikutnya: Peninjauan.

    6. Masukkan nama untuk peran (misalnya,CodeDeployECSRole), dan kemudian pilihMembuat peran.

  4. MasukKonfigurasi lingkungan, pilih nama klaster dan nama layanan Amazon ECS.

  5. FromPenyeimbang beban, pilih nama penyeimbang beban yang melayani lalu lintas ke layanan Amazon ECS Anda.

  6. FromPort listener produksi, pilih port dan protokol untuk pendengar yang melayani trac produksi ke layanan Amazon ECS Anda. FromPort listener, pilih port dan protokol untuk listener uji.

  7. FromNama grup targetdanNama grup target, pilih grup target yang digunakan untuk merutekan lalu lintas selama penyebaran Anda. Pastikan bahwa ini adalah grup target yang Anda buat untuk penyeimbang beban Anda.

  8. PilihRoute lalu lintas segerauntuk menentukan berapa lama setelah penyebaran berhasil untuk mengalihkan lalu lintas ke tugas Amazon ECS yang diperbarui.

  9. PilihBuat grup deployment.

Langkah 6: Membuat Alur

Dalam bagian ini, Anda membuat alur dengan tindakan berikut:

  • Tindakan CodeCommit di mana artefak sumber adalah definisi tugas dan file AppSpec.

  • Tahap sumber dengan aksi sumber Amazon ECR di mana artefak sumber adalah file gambar.

  • Tahap penyebaran dengan tindakan penyebaran Amazon ECS tempat penyebaran berjalan dengan aplikasi CodeDeploy dan grup penyebaran.

Untuk membuat pipa dua tahap dengan wizard

  1. Masuk keAWS Management Consoledan buka konsol CodePipeline dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. PadaSelamat datanghalaman,Memulaihalaman, atauAlurhalaman, pilihMembuat Alur.

  3. Di Langkah 1: Pilih pengaturan pipa, diNama AlurENTERMyImagePipeline.

  4. MasukPeran layanan, choosePeran layanan baruuntuk memungkinkan CodePipeline untuk membuat peran layanan di IAM.

  5. Biarkan pengaturan di bawahPengaturan lanjutandi default mereka, dan kemudian memilihSelanjutnya.

  6. Di Langkah 2: Tahap menambahkan sumber, diPenyedia sumber, chooseAWS CodeCommit. MasukNama repositori, pilih repositori CodeCommit yang Anda buatLangkah 1: Membuat repositori CodeCommit. MasukNama cabang, pilih nama cabang yang berisi pembaruan kode terbaru Anda.

    Pilih Selanjutnya.

  7. Di Langkah 3: Menambahkan tahap membangun, chooseLewati tahap membangun, dan kemudian menerima pesan peringatan dengan memilihLewatilagi. Pilih Selanjutnya.

  8. Di Langkah 4: Tambahkan tahap deploy:

    1. MasukPenyedia Deploy, chooseAmazon ECS (Biru/Hijau). MasukNama aplikasi, masukkan atau pilih nama aplikasi dari daftar, seperticodedeployapp. MasukGrup deployment, masukkan atau pilih nama grup penyebaran dari daftar, seperticodedeploydeplgroup.

      catatan

      Nama “Deploy” adalah nama yang diberikan secara default ke tahap yang dibuat diLangkah 4: Deploylangkah, sama seperti “Sumber” adalah nama yang diberikan pada tahap pertama dari pipa.

    2. Di bawahDefinisi tugas Amazon ECS, chooseSourceArtifact. Di lapangan, masukkantaskdef.json.

    3. Di bawahAWSFile CodeDeploy AppSpec, chooseSourceArtifact. Di lapangan, masukkanappspec.yaml.

      catatan

      Pada titik ini, jangan mengisi informasi apa pun di bawahSecara dinamis memperbarui gambar definisi tugas.

    4. Pilih Selanjutnya.

  9. MasukLangkah 5: Tinjau, tinjau informasi, lalu pilihMembuat Alur.

Untuk menambahkan tindakan sumber Amazon ECR ke pipeline Anda

Lihat saluran pipa Anda dan tambahkan tindakan sumber Amazon ECR ke saluran pipa Anda.

  1. Pilih alur Anda. Di kiri atas, pilihMengedit.

  2. Pada tahap sumber, pilihTahap Edit.

  3. Tambahkan tindakan paralel dengan memilih+ Tindakan menambahkandi samping aksi sumber CodeCommit Anda.

  4. MasukNama tindakan, masukkan nama (misalnya,Image).

  5. MasukPenyedia tindakan, chooseAmazon ECR.

    
                        Tambahkan tindakan sumber Amazon ECR ke pipeline Anda.
  6. MasukNama repositori, pilih repositori Amazon ECR Anda.

  7. MasukTag citra, tentukan nama gambar dan versi, jika berbeda dari yang terbaru.

  8. Masukartefak keluaran, pilih output artefak default (misalnya,MyImage) yang berisi nama gambar dan informasi URI repositori yang Anda inginkan tahap berikutnya untuk digunakan.

  9. PilihSimpanpada layar aksi. PilihSelesaidi layar panggung. PilihSimpanpada pipa. Pesan menunjukkan aturan Amazon CloudWatch Events yang akan dibuat untuk tindakan sumber Amazon ECR.

Untuk menghubungkan artefak sumber Anda ke aksi penyebaran

  1. PilihMengeditpada tahap Deploy Anda dan pilih ikon untuk mengeditAmazon ECS (Biru/Hijau)tindakan.

  2. Gulir ke bagian bawah panel. Masukartefak masukan, chooseTambahkan. Tambahkan artefak sumber dari repositori Amazon ECR baru Anda (misalnya,MyImage).

  3. MasukDefinisi Tugas, chooseSourceArtifact, dan kemudian verifikasitaskdef.jsondimasukkan.

  4. MasukAWSFile CodeDeploy AppSpec, chooseSourceArtifact, dan kemudian verifikasiappspec.yamldimasukkan.

  5. MasukSecara dinamis memperbarui gambar definisi tugas, diMasukan Artifact dengan URI Gambar, chooseMyImage, dan kemudian masukkan teks placeholder yang digunakan dalamtaskdef.jsonberkas: IMAGE1_NAME. Pilih Save (Simpan).

  6. DiAWS CodePipelinepane, pilihSimpan perubahan alur, dan kemudian pilihSimpan perubahan. Lihat pipa Anda yang diperbarui.

    Setelah pipa contoh ini dibuat, konfigurasi tindakan untuk entri konsol muncul dalam struktur pipa sebagai berikut:

    "configuration": { "AppSpecTemplateArtifact": "SourceArtifact", "AppSpecTemplatePath": "appspec.yaml", "TaskDefinitionTemplateArtifact": "SourceArtifact", "TaskDefinitionTemplatePath": "taskdef.json", "ApplicationName": "codedeployapp", "DeploymentGroupName": "codedeploydeplgroup", "Image1ArtifactName": "MyImage", "Image1ContainerName": "IMAGE1_NAME" },
  7. Untuk mengirimkan perubahan Anda dan memulai pembuatan pipa, pilihRilis perubahan, dan kemudian pilihRilis.

  8. Pilih tindakan penyebaran untuk melihatnya di CodeDeploy dan melihat kemajuan pergeseran lalu lintas.

    catatan

    Anda mungkin melihat langkah penyebaran yang menunjukkan waktu tunggu opsional. Secara default, CodeDeploy menunggu satu jam setelah penyebaran berhasil sebelum mengakhiri set tugas asli. Anda dapat menggunakan waktu ini untuk memutar kembali atau mengakhiri tugas, tetapi penyebaran Anda sebaliknya selesai ketika set tugas dihentikan.

Langkah 7: Lakukan perubahan pada pipeline Anda dan verifikasi penyebaran

Lakukan perubahan pada gambar Anda dan kemudian dorong perubahan ke repositori Amazon ECR Anda. Hal ini memicu pipa Anda untuk menjalankan. Verifikasi bahwa perubahan sumber gambar Anda disebarkan.