Referensi tindakan penerapan Amazon Elastic Container Service - AWS CodePipeline

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

Referensi tindakan penerapan Amazon Elastic Container Service

Anda dapat menggunakan tindakan Amazon ECS untuk menerapkan layanan Amazon ECS dan set tugas. Layanan Amazon ECS adalah aplikasi kontainer yang digunakan ke cluster Amazon ECS. Cluster Amazon ECS adalah kumpulan instance yang meng-host aplikasi container Anda di cloud. Penerapan memerlukan definisi tugas yang Anda buat di Amazon ECS dan file definisi gambar yang CodePipeline digunakan untuk menyebarkan gambar.

penting

Tindakan penerapan standar Amazon ECS untuk CodePipeline membuat revisi definisi tugas sendiri berdasarkan revisi yang digunakan oleh layanan Amazon ECS. Jika Anda membuat revisi baru untuk definisi tugas tanpa memperbarui layanan Amazon ECS, tindakan penerapan akan mengabaikan revisi tersebut.

Sebelum membuat pipeline, Anda harus sudah membuat resource Amazon ECS, menandai dan menyimpan gambar di repositori gambar Anda, dan mengunggah file ke repositori BuildSpec file Anda.

catatan

Topik referensi ini menjelaskan tindakan penerapan standar Amazon ECS untuk. CodePipeline Untuk informasi referensi tentang Amazon ECS ke tindakan penerapan CodeDeploy biru/hijau, lihat. CodePipeline Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau

Tipe tindakan

  • Kategori: Deploy

  • Pemilik: AWS

  • Penyedia: ECS

  • Versi: 1

Parameter konfigurasi

ClusterName

Wajib: Ya

Cluster Amazon ECS di Amazon ECS.

ServiceName

Wajib: Ya

Layanan Amazon ECS yang Anda buat di Amazon ECS.

FileName

Wajib: Tidak

Nama file definisi gambar Anda, file JSON yang menjelaskan nama wadah layanan Anda dan gambar dan tag. Anda menggunakan file ini untuk penerapan standar ECS. Untuk informasi selengkapnya, lihat Artefak masukan dan file imagedefinitions.json untuk tindakan penerapan standar Amazon ECS.

DeploymentTimeout

Wajib: Tidak

Batas waktu tindakan penerapan Amazon ECS dalam hitungan menit. Batas waktu dapat dikonfigurasi hingga batas waktu default maksimum untuk tindakan ini. Misalnya:

"DeploymentTimeout": "15"

Artefak masukan

  • Jumlah artefak: 1

  • Deskripsi: Tindakan mencari imagedefinitions.json file di repositori file sumber untuk pipeline. Dokumen definisi gambar adalah file JSON yang menjelaskan nama wadah Amazon ECS Anda serta gambar dan tag. CodePipeline menggunakan file untuk mengambil gambar dari repositori gambar Anda seperti Amazon ECR. Anda dapat menambahkan imagedefinitions.json file secara manual untuk pipeline di mana tindakan tidak otomatis. Untuk informasi tentang imagedefinitions.json file, lihatfile imagedefinitions.json untuk tindakan penerapan standar Amazon ECS.

    Tindakan ini membutuhkan gambar yang sudah ada yang telah didorong ke repositori gambar Anda. Karena pemetaan gambar disediakan oleh imagedefinitions.json file, tindakan tidak mengharuskan sumber Amazon ECR disertakan sebagai tindakan sumber dalam pipeline.

Artefak keluaran

  • Jumlah artefak: 0

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

Izin peran layanan: Tindakan standar Amazon ECS

Untuk Amazon ECS, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan Amazon ECS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TaskDefinitionPermissions", "Effect": "Allow", "Action": [ "ecs:DescribeTaskDefinition", "ecs:RegisterTaskDefinition" ], "Resource": [ "*" ] }, { "Sid": "ECSServicePermissions", "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService" ], "Resource": [ "arn:aws:ecs:*:{{customerAccountId}}:service/[[clusters]]/*" ] }, { "Sid": "ECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": [ "arn:aws:ecs:*:{{customerAccountId}}:task-definition/[[taskDefinitions]]:*" ], "Condition": { "StringEquals": { "ecs:CreateAction": [ "RegisterTaskDefinition" ] } } }, { "Sid": "IamPassRolePermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::{{customerAccountId}}:role/[[passRoles]]" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "ecs.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } } ] }

Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon ECS. Dengan ikut serta, Anda harus memberikan izin berikut:. ecs:TagResource Untuk informasi selengkapnya tentang cara ikut serta dan menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat Garis waktu otorisasi penandaan di Panduan Pengembang Layanan Penampung Elastis Amazon.

Anda harus menambahkan iam:PassRole izin untuk menggunakan peran IAM untuk tugas. Untuk informasi selengkapnya, lihat peran IAM eksekusi tugas Amazon ECS dan Peran IAM untuk Tugas. Gunakan teks kebijakan berikut.

Deklarasi tindakan

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

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

  • Lihat Tutorial: Buat dan dorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2) tutorial yang menunjukkan cara menggunakan tindakan ECRBuildand Publikasikan untuk mendorong gambar dan kemudian menggunakan tindakan standar ECS untuk menyebarkan ke Amazon ECS.

  • Tutorial: Continuous Deployment with CodePipeline - Tutorial ini menunjukkan cara membuat Dockerfile yang Anda simpan di repositori file sumber seperti. CodeCommit Selanjutnya, tutorial menunjukkan cara menggabungkan CodeBuild BuildSpec file yang membangun dan mendorong gambar Docker Anda ke Amazon ECR dan membuat file imagedefinitions.json Anda. Terakhir, Anda membuat layanan Amazon ECS dan definisi tugas, lalu Anda membuat pipeline dengan tindakan penerapan Amazon ECS.

    catatan

    Topik dan tutorial ini menjelaskan tindakan penerapan standar Amazon ECS untuk. CodePipeline Untuk informasi tentang Amazon ECS ke tindakan penerapan CodeDeploy biru/hijau di, lihat. CodePipeline Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR

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