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 dan ECS-to-CodeDeploy penerapan Amazon ECR
Dalam tutorial ini, Anda mengonfigurasi pipeline AWS CodePipeline yang menerapkan aplikasi kontainer menggunakan blue/green penerapan yang mendukung gambar Docker. Dalam blue/green penerapan, Anda dapat meluncurkan versi baru aplikasi Anda bersama versi lama dan menguji versi baru sebelum Anda mengalihkan lalu lintas. Anda juga dapat memantau proses penerapan dan memutar kembali dengan cepat jika ada masalah.
penting
Sebagai bagian dari pembuatan pipeline, bucket artefak S3 yang disediakan oleh pelanggan akan digunakan oleh CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS itu aman dan dapat diandalkan.
catatan
Tutorial ini adalah untuk tindakan CodeDeploy blue/green penyebaran Amazon ECS. CodePipeline Untuk tutorial yang menggunakan tindakan penerapan standar Amazon ECS di CodePipeline, lihatTutorial: Penyebaran Standar Amazon ECS dengan CodePipeline.
Pipeline yang telah selesai mendeteksi perubahan pada gambar Anda, yang disimpan dalam repositori gambar seperti Amazon ECR, dan digunakan CodeDeploy untuk merutekan dan menyebarkan lalu lintas ke cluster 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 blue/green penerapan, lihat Tutorial: Menyebarkan Layanan Amazon ECS.
Pipeline juga dikonfigurasi untuk menggunakan lokasi sumber, seperti CodeCommit, tempat definisi tugas Amazon ECS Anda disimpan. Dalam tutorial ini, Anda mengkonfigurasi masing-masing sumber AWS daya ini dan kemudian membuat pipeline Anda dengan tahapan yang berisi tindakan untuk setiap sumber daya.
Pipeline pengiriman berkelanjutan Anda akan secara otomatis membuat dan menerapkan gambar kontainer setiap kali kode sumber diubah atau gambar dasar baru diunggah ke Amazon ECR.
Alur ini menggunakan artefak berikut:
-
File gambar Docker yang menentukan nama wadah dan URI repositori repositori gambar Amazon ECR Anda.
-
Definisi tugas Amazon ECS yang mencantumkan nama gambar Docker, nama wadah, nama layanan Amazon ECS, dan konfigurasi penyeimbang beban.
-
CodeDeploy AppSpec File yang menentukan nama file definisi tugas Amazon ECS, nama wadah aplikasi yang diperbarui, dan port kontainer tempat merutekan lalu CodeDeploy lintas produksi. Ini juga dapat menentukan konfigurasi jaringan opsional dan fungsi Lambda yang dapat Anda jalankan selama kait peristiwa siklus hidup penerapan.
catatan
Saat Anda melakukan perubahan pada repositori gambar Amazon ECR Anda, tindakan sumber pipeline akan membuat imageDetail.json file untuk komit tersebut. Untuk informasi tentang imageDetail.json file, lihatDetail.json file gambar untuk tindakan blue/green penyebaran Amazon ECS.
Saat Anda membuat atau mengedit pipeline dan memperbarui atau menentukan artefak sumber untuk tahap penerapan Anda, pastikan untuk menunjuk ke artefak sumber dengan nama dan versi terbaru yang ingin Anda gunakan. Setelah menyiapkan pipeline, saat Anda membuat perubahan pada gambar atau definisi tugas, Anda mungkin perlu memperbarui file artefak sumber di repositori, lalu mengedit tahap penerapan di pipeline Anda.
Topik
Langkah 2: Buat definisi tugas dan file AppSpec sumber dan dorong ke CodeCommit repositori
Langkah 3: Buat Penyeimbang Beban Aplikasi dan kelompok sasaran
Langkah 5: Buat grup CodeDeploy aplikasi dan penerapan Anda (platform komputasi ECS)
Langkah 7: Buat perubahan pada pipeline Anda dan verifikasi penerapan
Prasyarat
Anda harus telah membuat sumber daya berikut:
-
Sebuah CodeCommit repositori. Anda dapat menggunakan AWS CodeCommit repositori yang Anda buatTutorial: Buat pipeline sederhana (CodeCommit repositori).
-
Luncurkan instance Amazon EC2 Linux 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 gambar dan dorong ke repositori Amazon ECR
Di bagian ini, Anda menggunakan Docker untuk membuat gambar dan kemudian menggunakan AWS CLI untuk membuat repositori Amazon ECR dan mendorong gambar ke repositori.
catatan
Jika Anda sudah memiliki gambar yang ingin Anda gunakan, Anda dapat melewati langkah ini.
Untuk membuat gambar
-
Masuk ke instance Linux Anda di mana Anda telah menginstal Docker.
Tarik gambar ke bawah untuk
nginx. Perintah ini menyediakannginx:latestgambar:docker pull nginx -
Jalankan docker images. Anda harus melihat gambar dalam daftar.
docker images
Untuk membuat repositori Amazon ECR dan mendorong gambar Anda
-
Buat repositori Amazon ECR untuk menyimpan gambar Anda. Buat catatan
repositoryUridi output.aws ecr create-repository --repository-name nginxOutput:
{ "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" } } -
Tandai gambar dengan
repositoryUrinilai dari langkah sebelumnya.docker tag nginx:latestaws_account_id.dkr.ecr.us-east-1.amazonaws.com/nginx:latest -
Jalankan aws ecr get-login-password perintah, seperti yang ditunjukkan dalam contoh ini untuk Wil
us-west-2ayah dan ID akun 111122223333.aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-west-2.amazonaws.com/nginx -
Dorong gambar ke Amazon ECR menggunakan
repositoryUridari langkah sebelumnya.docker push 111122223333.dkr.ecr.us-east-1.amazonaws.com/nginx:latest
Langkah 2: Buat definisi tugas dan file AppSpec sumber dan dorong ke CodeCommit repositori
Di bagian ini, Anda membuat file JSON definisi tugas dan mendaftarkannya ke Amazon ECS. Anda kemudian membuat AppSpec file untuk CodeDeploy dan menggunakan klien Git Anda untuk mendorong file ke CodeCommit repositori Anda.
Untuk membuat definisi tugas untuk gambar Anda
-
Buat file bernama
taskdef.jsondengan isi berikut ini. Untukimage, masukkan nama gambar Anda, seperti nginx. Nilai ini diperbarui saat pipeline Anda berjalan.catatan
Pastikan bahwa peran eksekusi yang ditentukan dalam definisi tugas berisi
AmazonECSTaskExecutionRolePolicy. Untuk informasi selengkapnya, lihat Per an IAM Eksekusi Tugas Amazon ECS di Panduan Pengembang 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" } -
Daftarkan definisi tugas Anda dengan
taskdef.jsonfile.aws ecs register-task-definition --cli-input-json file://taskdef.json -
Setelah definisi tugas terdaftar, edit file Anda untuk menghapus nama gambar dan sertakan teks
<IMAGE1_NAME>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 AppSpec file
-
AppSpec File ini digunakan untuk pener CodeDeploy apan. 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 AppSpec file, termasuk contoh, lihat Refer CodeDeploy AppSpec ensi File.
Buat file bernama
appspec.yamldengan isi berikut ini. UntukTaskDefinition, jangan mengubah teks<TASK_DEFINITION>placeholder. Nilai ini diperbarui saat pipeline 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 CodeCommit repositori Anda
-
Dorong atau unggah file ke CodeCommit repositori Anda. File-file ini adalah artefak sumber yang dibuat oleh wizard Buat pipeline untuk tindakan penerapan Anda di CodePipeline. File Anda akan terlihat seperti ini di direktori lokal Anda:
/tmp |my-demo-repo |-- appspec.yaml |-- taskdef.json -
Pilih metode yang ingin Anda gunakan untuk mengunggah file Anda:
-
Untuk menggunakan baris perintah git Anda dari repositori kloning di komputer lokal Anda:
-
Ubah direktori ke repositori lokal Anda:
(For Linux, macOS, or Unix)cd /tmp/my-demo-repo(For Windows)cd c:\temp\my-demo-repo -
Jalankan perintah berikut untuk mementaskan semua file Anda sekaligus:
git add -A -
Jalankan perintah berikut untuk mengkomit file dengan pesan commit:
git commit -m "Added task definition files" -
Jalankan perintah berikut untuk mendorong file dari repo lokal Anda ke CodeCommit repositori Anda:
git push
-
-
Untuk menggunakan CodeCommit konsol untuk mengunggah file Anda:
-
Buka CodeCommit konsol, dan pilih repositori Anda dari daftar Repositories.
-
Pilih Tambah file, lalu pilih Unggah file.
-
Pilih Pilih file, lalu telusuri file Anda. Lakukan perubahan dengan memasukkan nama pengguna dan alamat email Anda. Pilih Perubahan commit.
-
Ulangi langkah ini untuk setiap file yang ingin Anda unggah.
-
-
Langkah 3: Buat Penyeimbang Beban Aplikasi dan kelompok sasaran
Di bagian ini, Anda membuat Amazon EC2 Application Load Balancer. Anda menggunakan nama subnet dan nilai grup target yang Anda buat dengan penyeimbang beban 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 Zona Ketersediaan yang berbeda. Dalam langkah-langkah ini, Anda mengonfirmasi VPC default Anda, membuat penyeimbang beban, dan kemudian membuat dua grup target untuk penyeimbang beban Anda. Untuk informasi selengkapnya, lihat Grup Target untuk Penyeimbang Beban Jaringan Anda.
Untuk memverifikasi VPC default dan subnet publik
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/
. -
Verifikasi VPC default yang akan digunakan. Pada panel navigasi, pilih VPC Anda. Perhatikan VPC mana yang menampilkan Ya di kolom VPC Default. Ini adalah VPC default. Ini berisi subnet default untuk Anda pilih.
-
Pilih Subnets. Pilih dua subnet yang menampilkan Ya di kolom subnet default.
catatan
Catat ID subnet Anda. Anda membutuhkannya nanti dalam tutorial ini.
-
Pilih subnet, lalu pilih tab Deskripsi. Pastikan subnet yang ingin Anda gunakan berada di Zona Ketersediaan yang berbeda.
-
Pilih subnet, lalu pilih tab Tabel Rute. Untuk memverifikasi bahwa setiap subnet yang ingin Anda gunakan adalah subnet publik, konfirmasikan bahwa baris gateway disertakan dalam tabel rute.
Cara membuat Penyeimbang Beban Aplikasi Amazon EC2
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/
. -
Di panel navigasi, pilih Load Balancers.
-
Pilih Buat Penyeimbang Beban.
-
Pilih Application Load Balancer, lalu pilih Buat.
-
Di Nama, masukkan nama penyeimbang beban Anda.
-
Di Skema, pilih menghadap ke internet.
-
Dalam jenis alamat IP, pilih ipv4.
-
Konfigurasikan dua port pendengar untuk penyeimbang beban Anda:
-
Di bawah Protokol Penyeimbang B eb an, pilih HTTP. Di bawah Port Penyeimbang Beban, masukkan
80. -
Pilih Tambahkan pendengar.
-
Di bawah Load Balancer Protocol untuk pendengar kedua, pilih HTTP. Di bawah Port Penyeimbang Beban, masukkan
8080.
-
-
Di bawah Zona Ketersediaan, di VPC, pilih VPC default. Selanjutnya, pilih dua subnet default yang ingin Anda gunakan.
-
Pilih Selanjutnya: Konfigurasikan Pengaturan Keamanan.
-
Pilih Selanjutnya: Konfigurasikan Grup Keamanan.
-
Pilih Pilih grup keamanan yang ada, dan catat ID grup keamanan.
-
Pilih Selanjutnya: Konfigurasi Perutean.
-
Di Grup Target, pilih Grup target baru dan konfigurasikan kelompok target pertama Anda:
-
Di Nama, masukkan nama grup target (misalnya,
target-group-1). -
Di Jenis Target, pilih IP.
-
Dalam Protokol pilih HTTP. Di Port, masukkan
80. -
Pilih Selanjutnya: Daftarkan Target.
-
-
Pilih Berikutnya: Tinjau, lalu pilih Buat.
Untuk membuat grup target kedua untuk penyeimbang beban Anda
-
Setelah penyeimbang beban Anda disediakan, buka konsol Amazon EC2. Di panel navigasi, pilih Target Groups.
-
PilihBuat grup target.
-
Di Nama, masukkan nama grup target (misalnya,
target-group-2). -
Di Jenis Target, pilih IP.
-
Dalam Protokol pilih HTTP. Di Port, masukkan
8080. -
Di VPC, pilih VPC default.
-
Pilih Buat.
catatan
Anda harus memiliki dua grup target yang dibuat untuk penyeimbang beban agar penerapan Anda dapat berjalan. Anda hanya perlu mencatat ARN kelompok sasaran pertama Anda. ARN ini digunakan dalam file
create-serviceJSON pada langkah berikutnya.
Untuk memperbarui penyeimbang beban Anda untuk menyertakan grup target kedua Anda
-
Buka konsol Amazon EC2. Di panel navigasi, pilih Load Balancers.
-
Pilih penyeimbang beban Anda, lalu pilih tab List ers. Pilih pendengar dengan port 8080, lalu pilih Edit.
-
Pilih ikon pensil di sebelah Maj u ke. Pilih kelompok target kedua Anda, lalu pilih tanda centang. Pilih Perbarui untuk menyimpan pembaruan.
Langkah 4: Buat cluster dan layanan Amazon ECS Anda
Di bagian ini, Anda membuat cluster dan layanan Amazon ECS tempat merutekan lalu CodeDeploy lintas selama penerapan (ke cluster 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
Saat Anda menggunakan langkah-langkah ini untuk membuat cluster Amazon ECS, Anda menggunakan template cluster Networking only, yang menyediakan wadah AWS Fargate. AWS Fargate adalah teknologi yang mengelola infrastruktur instance kontainer Anda untuk Anda. Anda tidak perlu memilih atau membuat instans Amazon EC2 secara manual untuk cluster Amazon ECS Anda.
Cara membuat cluster Amazon ECS
Buka konsol klasik Amazon ECS di https://console.aws.amazon.com/ecs/
. -
Di panel navigasi, pilih Kluster.
-
Pilih Buat kluster.
-
Pilih template cluster Networking only yang menggunakan AWS Fargate, lalu pilih Langkah berikutnya.
-
Masukkan nama cluster pada halaman Konfigurasi cluster. Anda dapat menambahkan tag opsional untuk sumber daya Anda. Pilih Buat.
Cara membuat layanan Amazon ECS
Gunakan AWS CLI untuk membuat layanan Anda di Amazon ECS.
-
Buat file JSON dan beri nama
create-service.json. Tempelkan berikut ini ke dalam file JSON.Untuk
taskDefinitionbidang tersebut, saat Anda mendaftarkan definisi tugas di Amazon ECS, Anda memberikannya keluarga. Ini mirip dengan nama untuk beberapa versi definisi tugas, 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 penyeimbang beban Anda. Langkah 3: Buat Penyeimbang Beban Aplikasi dan kelompok sasarancatatan
Anda perlu menyertakan kelompok target ARN Anda dalam file ini. Buka konsol Amazon EC2 dan dari panel navigasi, di bawah LO AD BALANCING, pilih Grup Target. Pilih kelompok sasaran pertama Anda. Salin ARN Anda dari tab Deskripsi.
{ "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" } } } -
Jalan create-service kan perintah, tentukan file JSON:
penting
Pastikan untuk menyertakan
file://sebelum nama file. Diperlukan dalam perintah ini.Contoh ini membuat layanan bernama
my-service.catatan
Perintah contoh ini membuat 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.jsonOutput mengembalikan bidang deskripsi untuk layanan Anda.
-
Jalan describe-services kan perintah untuk memverifikasi bahwa layanan Anda telah dibuat.
aws ecs describe-services --clustercluster-name--servicesservice-name
Langkah 5: Buat grup CodeDeploy aplikasi dan penerapan Anda (platform komputasi ECS)
Saat Anda membuat grup CodeDeploy aplikasi dan penerapan untuk platform komputasi Amazon ECS, aplikasi digunakan selama penerapan untuk mereferensikan grup penerapan, grup target, pendengar, dan perilaku pengalihan lalu lintas yang benar.
Untuk membuat CodeDeploy aplikasi
-
Buka CodeDeploy konsol dan pilih Buat aplikasi.
-
Di Nama aplikasi, masukkan nama yang ingin Anda gunakan.
-
Di platform Compute, pilih Amazon EC S.
-
Pilih Create application (Buat aplikasi).
Untuk membuat grup CodeDeploy penerapan
-
Pada tab Grup penerapan halaman aplikasi Anda, pilih Buat grup penerapan.
-
Di Nama grup pener apan, masukkan nama yang menjelaskan grup penerapan.
-
Di Peran layanan, pilih peran layanan yang memberikan CodeDeploy akses ke Amazon ECS. Untuk membuat peran layanan baru, ikuti langkah-langkah berikut:
-
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Dari dasbor konsol, pilih Per an.
-
Pilih Buat peran.
-
Di bawah Pilih jenis entitas tepercaya, pilih Layanan AWS. Di bawah Pilih kasus penggunaan, pilih CodeDeploy. Di bawah Pilih kasus penggunaan Anda, pilih CodeDeploy - ECS. Pilih Berikutnya: Izin. Kebijakan yang
AWSCodeDeployRoleForECSdikelola sudah melekat pada peran. -
Pilih Berikutnya: Tag, dan Berikutnya: Review.
-
Masukkan nama untuk peran (misalnya,
CodeDeployECSRole), lalu pilih Buat peran.
-
-
Di Konfigurasi Lingkungan, pilih nama cluster Amazon ECS dan nama layanan Anda.
-
Dari Load penyeim bang, pilih nama penyeimbang beban yang melayani lalu lintas ke layanan Amazon ECS Anda.
-
Dari port pendengar produksi, pilih port dan protokol untuk pendengar yang melayani lalu lintas produksi ke layanan Amazon ECS Anda. Dari Port pendengar uji, pilih port dan protokol untuk pendengar uji.
-
Dari Nama grup Target 1 dan Nama grup Target 2, pilih grup target yang digunakan untuk merutekan lalu lintas selama penerapan Anda. Pastikan bahwa ini adalah grup target yang Anda buat untuk penyeimbang beban Anda.
-
Pilih Ubah ulang lalu lintas segera untuk menentukan berapa lama setelah penerapan berhasil mengalihkan lalu lintas ke tugas Amazon ECS Anda yang diperbarui.
-
Pilih Buat grup penerapan.
Langkah 6: Buat pipeline Anda
Dalam bagian ini, Anda membuat alur dengan tindakan berikut:
-
T CodeCommit indakan di mana artefak sumber adalah definisi tugas dan AppSpec file.
-
Tahap sumber dengan tindakan sumber Amazon ECR di mana artefak sumber adalah file gambar.
-
Tahap penerapan dengan tindakan penyebaran Amazon ECS di mana penerapan berjalan dengan grup CodeDeploy aplikasi dan penerapan.
Untuk membuat pipa dua tahap dengan wizard
Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Pada halaman Selamat Datang, halaman Mem ulai, atau halaman Pipelines, pilih Buat pipeline.
-
Pada Langkah 1: Pilih halaman opsi pembuatan, di bawah Opsi pembuatan, pilih opsi Build custom pipeline. Pilih Berikutnya.
-
Di Langkah 2: Pilih pengaturan pipa, di Nama Pipeline, masukkan
MyImagePipeline. -
CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat Jenis jalur. Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga
. -
Di Peran layanan, pilih Peran layanan baru untuk memungkinkan CodePipeline untuk membuat peran layanan di IAM.
-
Biarkan pengaturan di bawah Peng aturan lanj utan pada defaultnya, lalu pilih Ber ikutnya.
-
Pada Langkah 3: Tambahkan tahap sumber, di Penye dia Sumber, pilih AWS CodeCommit. Di Nama Repositori, pilih nama CodeCommit repositori yang Anda buatLangkah 1: Buat CodeCommit repositori. Di Nama cabang, pilih nama cabang yang berisi pembaruan kode terbaru Anda.
Pilih Berikutnya.
-
Pada Langkah 4: Tambahkan tahap build, pilih Lewati tahap build, lalu terima pesan peringatan dengan memilih Le wati lagi. Pilih Berikutnya.
-
Pada Langkah 5: Tambahkan tahap pengujian, pilih Lewati tahap pengujian, lalu terima pesan peringatan dengan memilih Le wati lagi.
Pilih Berikutnya.
-
Pada Langkah 6: Tambahkan tahap penerapan:
-
Di Penye dia De ploy, pilih Amazon ECS (Blue/Green). Di Nama aplikasi, masukkan atau pilih nama aplikasi dari daftar, seperti
codedeployapp. Di grup Deployment, masukkan atau pilih nama grup penerapan dari daftar, seperticodedeploydeplgroup.catatan
Nama “Deploy” adalah nama yang diberikan secara default ke tahap yang dibuat pada langkah Langkah 4: Deploy, sama seperti “Sumber” adalah nama yang diberikan untuk tahap pertama pipeline.
-
Di bawah definisi tugas Amazon ECS, pilih SourceArtifact. Di lapangan, masukkan
taskdef.json. -
Di bawah AWS CodeDeploy AppSpec file, pilih SourceArtifact. Di lapangan, masukkan
appspec.yaml.catatan
Pada titik ini, jangan mengisi informasi apa pun di bawah Perbarui gambar definisi tugas secara dinamis.
-
Pilih Berikutnya.
-
-
Pada Langkah 7: Tinjau, tinjau informasi, lalu pilih Buat pipeline.
Untuk menambahkan tindakan sumber Amazon ECR ke pipeline Anda
Lihat pipeline Anda dan tambahkan tindakan sumber Amazon ECR ke pipeline Anda.
-
Pilih pipa Anda. Di kiri atas, pilih Edit.
-
Pada tahap sumber, pilih Edit stage.
-
Tambahkan tindakan paralel dengan memilih + Tambahkan tindakan di sebelah tindakan CodeCommit sumber Anda.
-
Di Nama tindakan, masukkan nama (misalnya,
Image). -
Di penyedia Action, pilih Amazon ECR.
-
Di Nama Repositori, pilih nama repositori Amazon ECR Anda.
-
Di Tag gambar, tentukan nama gambar dan versi, jika berbeda dari yang terbaru.
-
Di Artefak keluaran, pilih default artefak keluaran (misalnya,
MyImage) yang berisi nama gambar dan informasi URI repositori yang ingin digunakan tahap selanjutnya. -
Pilih Simpan di layar tindakan. Pilih Selesai di layar panggung. Pilih Simpan di pipa. Sebuah pesan menunjukkan aturan Amazon CloudWatch Events yang akan dibuat untuk tindakan sumber Amazon ECR.
Untuk menghubungkan artefak sumber Anda ke tindakan penerapan
-
Pilih Edit pada tahap Deploy Anda dan pilih ikon untuk mengedit tindakan Amazon ECS (Blue/Green).
-
Gulir ke bagian bawah panel. Di Artefak masukan, pilih Tambah. Tambahkan artefak sumber dari repositori Amazon ECR baru Anda (misalnya,
MyImage). -
Di Task Definition SourceArtifact, pilih, dan kemudian
taskdef.jsonverifikasi dimasukkan. -
Di AWS CodeDeploy AppSpec File, pilih SourceArtifact, dan kemudian
appspec.yamlverifikasi dimasukkan. -
Di Perbarui gambar definisi tugas secara dinamis, di Input Artifact dengan URI Gambar MyImage, pilih, lalu masukkan teks placeholder yang digunakan dalam file:.
taskdef.jsonIMAGE1_NAMEPilih Simpan. -
Di AWS CodePipeline panel, pilih S impan perubahan pipeline, lalu pilih S impan perubahan. Lihat pipeline Anda yang diperbarui.
Setelah contoh pipeline ini dibuat, konfigurasi tindakan untuk entri konsol muncul dalam struktur pipeline sebagai berikut:
"configuration": { "AppSpecTemplateArtifact": "SourceArtifact", "AppSpecTemplatePath": "appspec.yaml", "TaskDefinitionTemplateArtifact": "SourceArtifact", "TaskDefinitionTemplatePath": "taskdef.json", "ApplicationName": "codedeployapp", "DeploymentGroupName": "codedeploydeplgroup", "Image1ArtifactName": "MyImage", "Image1ContainerName": "IMAGE1_NAME" }, -
Untuk mengirimkan perubahan dan memulai pembuatan pipeline, pilih R ilis perubahan, lalu pilih R ilis.
-
Pilih tindakan penerapan untuk melihatnya CodeDeploy dan melihat kemajuan pergeseran lalu lintas.
catatan
Anda mungkin melihat langkah penerapan yang menunjukkan waktu tunggu opsional. Secara default, CodeDeploy menunggu satu jam setelah penerapan berhasil sebelum mengakhiri set tugas asli. Anda dapat menggunakan waktu ini untuk memutar kembali atau mengakhiri tugas, tetapi penerapan Anda akan selesai ketika set tugas dihentikan.
Langkah 7: Buat perubahan pada pipeline Anda dan verifikasi penerapan
Buat perubahan pada gambar Anda dan kemudian dorong perubahan ke repositori Amazon ECR Anda. Ini memicu pipeline Anda untuk berjalan. Verifikasi bahwa perubahan sumber gambar Anda diterapkan.