Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon Elastic Container Service dan referensi tindakan CodeDeploy penerapan biru-hijau
Anda dapat mengonfigurasi pipeline AWS CodePipeline yang menerapkan aplikasi kontainer menggunakan blue/green penerapan. Dalam blue/green penerapan, Anda dapat meluncurkan versi baru aplikasi Anda bersama versi lama, dan Anda dapat menguji versi baru sebelum mengalihkan lalu lintas ke sana. Anda juga dapat memantau proses penerapan dan memutar kembali dengan cepat jika ada masalah.
Pipeline yang telah selesai mendeteksi perubahan pada gambar atau file definisi tugas Anda dan digunakan CodeDeploy untuk merutekan dan menyebarkan lalu lintas ke cluster Amazon ECS dan penyeimbang beban. CodeDeploy membuat pendengar baru pada penyeimbang beban Anda yang dapat menargetkan tugas baru Anda melalui port khusus. Anda juga dapat mengonfigurasi pipeline untuk menggunakan lokasi sumber, seperti CodeCommit repositori, tempat definisi tugas Amazon ECS Anda disimpan.
Sebelum membuat pipeline, Anda harus telah membuat sumber daya Amazon ECS, sumber CodeDeploy daya, dan penyeimbang beban dan grup target. Anda harus sudah menandai dan menyimpan gambar di repositori gambar Anda, dan mengunggah definisi tugas dan AppSpec file ke repositori file Anda.
catatan
Topik ini menjelaskan tindakan Amazon ECS to CodeDeploy blue/green Deployment untuk CodePipeline. Untuk informasi referensi tentang tindakan penerapan standar Amazon ECS di CodePipeline, lihatReferensi tindakan penyebaran Amazon Elastic Container Service.
Topik
Tipe tindakan
-
Kategori:
Deploy -
Pemilik:
AWS -
Penyedia:
CodeDeployToECS -
Versi:
1
Parameter konfigurasi
- ApplicationName
-
Wajib: Ya
Nama aplikasi di CodeDeploy. Sebelum Anda membuat pipeline Anda, Anda harus sudah membuat aplikasi di CodeDeploy.
- DeploymentGroupName
-
Wajib: Ya
Grup penerapan yang ditentukan untuk kumpulan tugas Amazon ECS yang Anda buat untuk CodeDeploy aplikasi Anda. Sebelum membuat pipeline, Anda harus sudah membuat grup penerapan di CodeDeploy.
- TaskDefinitionTemplateArtifact
-
Wajib: Ya
Nama artefak masukan yang menyediakan file definisi tugas ke tindakan penerapan. Ini umumnya nama artefak keluaran dari aksi sumber. Saat Anda menggunakan konsol, nama default untuk artefak keluaran tindakan sumber adalah
SourceArtifact. - AppSpecTemplateArtifact
-
Wajib: Ya
Nama artefak masukan yang menyediakan AppSpec file ke tindakan penerapan. Nilai ini diperbarui saat pipeline Anda berjalan. Ini umumnya nama artefak keluaran dari aksi sumber. Saat Anda menggunakan konsol, nama default untuk artefak keluaran tindakan sumber adalah
SourceArtifact. UntukTaskDefinitiondalam AppSpec file, Anda dapat menyimpan teks<TASK_DEFINITION>placeholder seperti yang ditunjukkan di sini. - AppSpecTemplatePath
-
Wajib: Tidak
Nama file AppSpec file yang disimpan di lokasi file sumber pipeline, seperti CodeCommit repositori pipeline Anda. Nama file default adalah
appspec.yaml. Jika AppSpec file Anda memiliki nama yang sama dan disimpan di tingkat root di repositori file Anda, Anda tidak perlu memberikan nama file. Jika jalur bukan default, masukkan jalur dan nama file. - TaskDefinitionTemplatePath
-
Wajib: Tidak
Nama file definisi tugas yang disimpan di lokasi sumber file pipeline, seperti CodeCommit repositori pipeline Anda. Nama file default adalah
taskdef.json. Jika file definisi tugas Anda memiliki nama yang sama dan disimpan di tingkat root di repositori file Anda, Anda tidak perlu memberikan nama file. Jika jalur bukan default, masukkan jalur dan nama file. - Gambar <Number>ArtifactName
-
Wajib: Tidak
Nama artefak masukan yang menyediakan gambar ke tindakan penerapan. Ini umumnya artefak keluaran repositori gambar, seperti output dari tindakan sumber Amazon ECR.
Nilai yang tersedia untuk
<Number>adalah 1 hingga 4. - Gambar <Number>ContainerName
-
Wajib: Tidak
Nama gambar yang tersedia dari repositori gambar, seperti repositori sumber Amazon ECR.
Nilai yang tersedia untuk
<Number>adalah 1 hingga 4.
Artefak masukan
-
Jumlah Artefak:
1 to 5 -
Deskripsi: T
CodeDeployToECSindakan pertama mencari file definisi tugas dan AppSpec file di repositori file sumber, selanjutnya mencari gambar di repositori gambar, kemudian secara dinamis menghasilkan revisi baru definisi tugas, dan akhirnya menjalankan AppSpec perintah untuk menyebarkan set tugas dan wadah ke cluster.T
CodeDeployToECSindakan mencariimageDetail.jsonfile yang memetakan URI gambar ke gambar. Saat Anda melakukan perubahan pada repositori gambar Amazon ECR Anda, tindakan sumber ECR pipeline akan membuatimageDetail.jsonfile untuk komit tersebut. Anda juga dapat menambahkanimageDetail.jsonfile secara manual untuk pipeline di mana tindakan tidak otomatis. Untuk informasi tentangimageDetail.jsonfile, lihatDetail.json file gambar untuk tindakan blue/green penyebaran Amazon ECS.T
CodeDeployToECSindakan secara dinamis menghasilkan revisi baru dari definisi tugas. Pada fase ini, tindakan ini menggantikan placeholder dalam file definisi tugas menjadi URI gambar yang diambil dari file gambarDetail.json . Misalnya, jika Anda menetapkan IMAGE1_NAME sebagai Image1ContainerName parameter, Anda harus menentukan placeholder <IMAGE1_NAME>sebagai nilai bidang gambar dalam file definisi tugas Anda. Dalam hal ini, CodeDeployToECS tindakan menggantikan placeholder <IMAGE1_NAME>menjadi URI gambar aktual yang diambil dari gambar Detail.json di artefak yang Anda tentukan sebagai. Image1ArtifactNameUntuk pembaruan definisi tugas, CodeDeploy
AppSpec.yamlfile berisiTaskDefinitionproperti.TaskDefinition: <TASK_DEFINITION>Properti ini akan diperbarui oleh
CodeDeployToECStindakan setelah definisi tugas baru dibuat.<TASK_DEFINITION>Untuk nilai
TaskDefinitionbidang, teks placeholder harus. TCodeDeployToECSindakan menggantikan placeholder ini dengan ARN aktual dari definisi tugas yang dihasilkan secara dinamis.
Artefak keluaran
-
Jumlah Artefak:
0 -
Deskripsi: Artefak keluaran tidak berlaku untuk jenis tindakan ini.
Izin peran layanan: CodeDeployToECS tindakan
Untuk CodeDeployToECS tindakan (pener blue/green apan), berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan CodeDeploy ke Amazon ECS blue/green.
Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon ECS. Dengan memilih, Anda harus memberikan izin berikut:ecs:TagResource. Untuk informasi selengkapnya tentang cara ikut serta menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat Men andai garis waktu otorisasi di Panduan Pengembang Layanan Kontainer Amazon Elastic.
Anda juga harus menambahkan iam:PassRole izin untuk menggunakan peran IAM untuk tugas. Untuk informasi selengkapnya, lihat Per an IAM eksekusi tugas Amazon ECS dan Peran IAM untuk Tugas.
Anda juga dapat menambahkan ecs-tasks.amazonaws.com ke daftar layanan di bawah iam:PassedToService kondisi, seperti yang ditunjukkan pada contoh di atas.
Deklarasi tindakan
Lihat juga
Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.
-
Tutorial: Buat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR— Tutorial ini memandu Anda melalui pembuatan sumber daya Amazon ECS yang Anda butuhkan untuk blue/green penerapan. CodeDeploy Tutorial ini menunjukkan cara mendorong gambar Docker ke Amazon ECR dan membuat definisi tugas Amazon ECS yang mencantumkan nama gambar Docker Anda, nama wadah, nama layanan Amazon ECS, dan konfigurasi penyeimbang beban. Tutorial ini kemudian memandu Anda melalui pembuatan AppSpec file dan pipeline untuk penerapan Anda.
catatan
Topik dan tutorial ini menjelaskan CodeDeploy/ECS blue/green tindakan untuk CodePipeline. Untuk informasi tentang tindakan standar ECS di CodePipeline, lihat Tutorial: Penerapan Berkelanjutan dengan CodePipeline.
-
AWS CodeDeploy Panduan Pengguna — Untuk informasi tentang cara menggunakan blue/green penyeimbang beban, pendengar produksi, grup target, dan aplikasi Amazon ECS Anda dalam penerapan, lihat Tutorial: Menyebarkan Layanan Amazon ECS. Informasi referensi dalam Panduan AWS CodeDeploy Pengguna ini memberikan gambaran umum untuk penerapan blue/green dengan Amazon ECS dan. AWS CodeDeploy
-
Panduan Pengembang Amazon Elastic Container Service — Untuk informasi tentang bekerja dengan gambar dan wadah Docker, layanan dan cluster ECS, dan set tugas ECS, lihat Apa itu Amazon ECS?