Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau - AWS CodePipeline

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 CodeDeploy referensi aksi penerapan biru-hijau

Anda dapat mengonfigurasi pipeline yang menyebarkan aplikasi kontainer menggunakan penerapan biru/hijau. AWS CodePipeline Dalam penerapan biru/hijau, Anda dapat meluncurkan versi baru aplikasi Anda di samping versi lama, dan Anda dapat menguji versi baru sebelum Anda 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 ECS klaster Amazon 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 ECS tugas Amazon Anda disimpan.

Sebelum membuat pipeline, Anda harus sudah membuat ECS resource Amazon, CodeDeploy resource, dan load balancer serta 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 penerapan Amazon ECS ke CodeDeploy biru/hijau untuk. CodePipeline Untuk informasi referensi tentang tindakan penerapan ECS standar Amazon CodePipeline, lihatReferensi tindakan penerapan Amazon Elastic Container Service.

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 set ECS tugas Amazon yang Anda buat untuk CodeDeploy aplikasi Anda. Sebelum membuat pipeline, Anda harus sudah membuat grup deployment di CodeDeploy.

TaskDefinitionTemplateArtifact

Wajib: Ya

Nama artefak input 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 aksi sumber adalahSourceArtifact.

AppSpecTemplateArtifact

Wajib: Ya

Nama artefak input yang menyediakan AppSpec file untuk tindakan penyebaran. Nilai ini diperbarui saat pipeline Anda berjalan. Ini umumnya nama artefak keluaran dari aksi sumber. Saat Anda menggunakan konsol, nama default untuk artefak keluaran aksi sumber adalahSourceArtifact. Untuk TaskDefinition dalam 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 adalahappspec.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 path bukan default, masukkan path 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 adalahtaskdef.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 path bukan default, masukkan path dan nama file.

Gambar <Number>ArtifactName

Wajib: Tidak

Nama artefak input yang menyediakan gambar untuk tindakan penyebaran. Ini umumnya artefak keluaran repositori gambar, seperti output dari aksi sumber AmazonECR.

Nilai yang tersedia untuk <Number> adalah 1 hingga 4.

Gambar <Number>ContainerName

Wajib: Tidak

Nama gambar yang tersedia dari repositori gambar, seperti repositori ECR sumber Amazon.

Nilai yang tersedia untuk <Number> adalah 1 hingga 4.

Artefak masukan

  • Jumlah Artefak: 1 to 5

  • Deskripsi: CodeDeployToECS Tindakan pertama-tama 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 menerapkan set tugas dan wadah ke cluster.

    CodeDeployToECSTindakan mencari imageDetail.json file yang memetakan gambar URI ke gambar. Saat Anda melakukan perubahan ke repositori ECR gambar Amazon, tindakan ECR sumber pipeline akan membuat imageDetail.json file untuk komit tersebut. Anda juga dapat menambahkan imageDetail.json file secara manual untuk pipeline di mana tindakan tidak otomatis. Untuk informasi tentang imageDetail.json file, lihatimageDetail.json untuk tindakan penerapan ECS biru/hijau Amazon.

    CodeDeployToECSTindakan secara dinamis menghasilkan revisi baru dari definisi tugas. Pada fase ini, tindakan ini menggantikan placeholder dalam file definisi tugas menjadi gambar yang URI diambil dari file.json. imageDetail Misalnya, jika Anda menetapkan IMAGE1_ NAME sebagai ContainerName parameter Image1, Anda harus menentukan placeholder < IMAGE1 _ NAME > sebagai nilai bidang gambar dalam file definisi tugas Anda. Dalam hal ini, CodeDeployTo ECS tindakan menggantikan placeholder < IMAGE1 _ NAME > menjadi gambar aktual yang URI diambil imageDetail dari.json dalam artefak yang Anda tentukan sebagai Image1. ArtifactName

    Untuk pembaruan definisi tugas, CodeDeploy AppSpec.yaml file berisi TaskDefinition properti.

    TaskDefinition: <TASK_DEFINITION>

    Properti ini akan diperbarui oleh CodeDeployToECS tindakan setelah definisi tugas baru dibuat.

    Untuk nilai TaskDefinition bidang, teks placeholder harus < TASK _ DEFINITION >. CodeDeployToECSTindakan menggantikan placeholder ini dengan definisi tugas ARN yang dihasilkan secara dinamis.

Artefak keluaran

  • Jumlah Artefak: 0

  • Deskripsi: Artefak keluaran tidak berlaku untuk jenis tindakan ini.

Deklarasi tindakan

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: CodeDeployToECS Version: '1' RunOrder: 1 Configuration: AppSpecTemplateArtifact: SourceArtifact ApplicationName: ecs-cd-application DeploymentGroupName: ecs-deployment-group Image1ArtifactName: MyImage Image1ContainerName: IMAGE1_NAME TaskDefinitionTemplatePath: taskdef.json AppSpecTemplatePath: appspec.yaml TaskDefinitionTemplateArtifact: SourceArtifact OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact - Name: MyImage Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CodeDeployToECS", "Version": "1" }, "RunOrder": 1, "Configuration": { "AppSpecTemplateArtifact": "SourceArtifact", "ApplicationName": "ecs-cd-application", "DeploymentGroupName": "ecs-deployment-group", "Image1ArtifactName": "MyImage", "Image1ContainerName": "IMAGE1_NAME", "TaskDefinitionTemplatePath": "taskdef.json", "AppSpecTemplatePath": "appspec.yaml", "TaskDefinitionTemplateArtifact": "SourceArtifact" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" }, { "Name": "MyImage" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] }

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.

  • Tutorial: Membuat pipeline dengan ECR sumber Amazon dan ECS -to- deployment CodeDeploy — Tutorial ini memandu Anda melalui pembuatan ECS sumber daya Amazon CodeDeploy dan Amazon yang Anda butuhkan untuk penyebaran biru/hijau. Tutorial ini menunjukkan cara mendorong gambar Docker ke Amazon ECR dan membuat definisi ECS tugas Amazon yang mencantumkan nama gambar Docker, nama kontainer, nama ECS layanan Amazon, dan konfigurasi penyeimbang beban. Tutorial kemudian memandu Anda melalui pembuatan AppSpec file dan pipeline untuk penyebaran Anda.

    catatan

    Topik dan tutorial ini menjelaskan CodeDeploy ECS tindakan/biru/hijau untuk. CodePipeline Untuk informasi tentang tindakan ECS standar CodePipeline, lihat Tutorial: Penerapan Berkelanjutan dengan CodePipeline.

  • AWS CodeDeploy Panduan Pengguna - Untuk informasi tentang cara menggunakan penyeimbang beban, pendengar produksi, grup target, dan ECS aplikasi Amazon Anda dalam penerapan biru/hijau, lihat Tutorial: Menerapkan Layanan Amazon. ECS Informasi referensi di Panduan AWS CodeDeploy Pengguna ini memberikan gambaran umum untuk penerapan biru/hijau dengan Amazon dan. ECS AWS CodeDeploy

  • Panduan Pengembang Layanan Amazon Elastic Container - Untuk informasi tentang bekerja dengan gambar dan kontainer Docker, ECS layanan dan cluster, serta set ECS tugas, lihat Apa itu Amazon? ECS