View a markdown version of this page

Referensi tindakan penyebaran 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 penyebaran Amazon Elastic Container Service

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

penting

Tindakan penerapan standar Amazon EC CodePipeline S untuk 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 telah membuat sumber daya Amazon ECS, menandai dan menyimpan gambar di repositori gambar Anda, dan mengunggah file buildspec ke repositori file Anda.

catatan

Topik referensi ini menjelaskan tindakan penerapan standar Amazon ECS untuk CodePipeline. Untuk informasi referensi tentang Amazon ECS untuk tindakan CodeDeploy blue/green penerapan di CodePipeline, lihatAmazon Elastic Container Service dan referensi tindakan CodeDeploy 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 serta 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. Contoh:

"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 dan gambar serta 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 memerlukan 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 penyebaran Amazon ECS.

JSON
{ "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:*:111122223333:service/[[clusters]]/*" ] }, { "Sid": "ECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": [ "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*" ], "Condition": { "StringEquals": { "ecs:CreateAction": [ "RegisterTaskDefinition" ] } } }, { "Sid": "IamPassRolePermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::111122223333:role/[[passRoles]]" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "ecs.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } } ] }

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 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. 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 mengerjakan tindakan ini.

  • Lihat Tutorial: Membangun dan mendorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2) tutorial yang menunjukkan cara menggunakan ECRBuildandPublish tindakan untuk mendorong gambar dan kemudian menggunakan tindakan standar ECS untuk menerapkan ke Amazon ECS.

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

    catatan

    Topik dan tutorial ini menjelaskan tindakan penerapan standar Amazon ECS untuk CodePipeline. Untuk informasi tentang tindakan Amazon ECS untuk CodeDeploy blue/green penerapan di CodePipeline, lihatTutorial: Buat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR.

  • Panduan Pengembang Amazon Elastic Container Service — Untuk informasi tentang bekerja dengan gambar dan wadah Docker, layanan dan cluster Amazon ECS, serta kumpulan tugas Amazon ECS, lihat Apa itu Amazon ECS?