Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ECRBuildAndPublishmembangun referensi tindakan
Tindakan build ini memungkinkan Anda untuk mengotomatiskan pembuatan dan mendorong gambar baru ketika perubahan terjadi di sumber Anda. Tindakan ini dibangun berdasarkan lokasi Dockerfile tertentu dan mendorong gambar. Tindakan build ini tidak sama dengan tindakan sumber Amazon ECR di CodePipeline, yang memicu pipeline saat terjadi perubahan di repositori sumber Amazon ECR Anda. Untuk informasi tentang tindakan itu, lihatReferensi tindakan sumber Amazon ECR.
Ini bukan tindakan sumber yang akan memicu pipeline. Tindakan ini membangun gambar dan mendorongnya ke repositori gambar Amazon ECR Anda.
Anda harus telah membuat repositori Amazon ECR dan telah menambahkan Dockerfile ke repositori kode sumber Anda, seperti GitHub, sebelum Anda menambahkan tindakan ke pipeline Anda.
penting
Tindakan ini menggunakan CodePipeline CodeBuild komputasi terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan perintah akan dikenakan biaya terpisah. AWS CodeBuild
catatan
Tindakan ini hanya tersedia untuk pipeline tipe V2.
Topik
Tipe tindakan
-
Kategori:
Build -
Pemilik:
AWS -
Penyedia:
ECRBuildAndPublish -
Versi:
1
Parameter konfigurasi
- ECRRepositoryName
-
Wajib: Ya
Nama repositori Amazon ECR tempat gambar didorong.
- DockerFilePath
-
Wajib: Tidak
Lokasi Dockerfile digunakan untuk membangun gambar. Secara opsional, Anda dapat menyediakan lokasi Dockerfile alternatif jika tidak di tingkat root.
catatan
Jika nilai untuk tidak
DockerFilePathditentukan, nilai default ke level root repositori sumber. - ImageTags
-
Wajib: Tidak
Tag yang digunakan untuk gambar. Anda dapat memasukkan beberapa tag sebagai daftar string yang dipisahkan koma.
catatan
Jika nilai untuk tidak
ImageTagsditentukan, nilai defaultnya menjadilatest. - RegistryType
-
Wajib: Tidak
Menentukan apakah repositori bersifat publik atau pribadi. Nilai yang valid adalah
private | public.catatan
Jika nilai untuk tidak
RegistryTypeditentukan, nilai defaultnya menjadiprivate.
Artefak masukan
-
Jumlah artefak:
1 -
Deskripsi: Artefak yang dihasilkan oleh aksi sumber yang berisi Dockerfile yang diperlukan untuk membangun gambar.
Artefak keluaran
-
Jumlah artefak:
0
Variabel keluaran
Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel tersebut tersedia untuk konfigurasi tindakan hilir.
Untuk informasi selengkapnya, lihat Referensi variabel.
- ECRImageDigestId
-
In
sha256tisari manifestasi gambar. - ECRRepositoryName
-
Nama repositori Amazon ECR tempat gambar didorong.
Izin peran layanan: ECRBuildAndPublish tindakan
Untuk dukungan ECRBuildAndPublish tindakan, tambahkan berikut ini ke pernyataan kebijakan Anda:
{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "PrivateECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }
Selain itu, jika belum ditambahkan untuk Commands tindakan, tambahkan izin berikut ke peran layanan Anda untuk melihat CloudWatch log.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
catatan
Cakupan izin ke tingkat sumber daya pipeline dengan menggunakan izin berbasis sumber daya dalam pernyataan kebijakan peran layanan.
Untuk informasi selengkapnya tentang tindakan ini, lihatECRBuildAndPublishmembangun referensi tindakan.
Deklarasi tindakan
Lihat juga
Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.
-
Tutorial: Membangun dan mendorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2)— Tutorial ini memberikan contoh Dockerfile dan instruksi untuk membuat pipeline yang mendorong gambar Anda ke ECR pada perubahan pada repositori sumber Anda dan kemudian disebarkan ke Amazon ECS.