View a markdown version of this page

ECRBuildAndPublishmembangun referensi tindakan - AWS CodePipeline

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.

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 DockerFilePath ditentukan, 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 ImageTags ditentukan, nilai defaultnya menjadilatest.

RegistryType

Wajib: Tidak

Menentukan apakah repositori bersifat publik atau pribadi. Nilai yang valid adalah private | public.

catatan

Jika nilai untuk tidak RegistryType ditentukan, 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 sha256 tisari 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

YAML
name: ECRBuild actionTypeId: category: Build owner: AWS provider: ECRBuildAndPublish version: '1' runOrder: 1 configuration: ECRRepositoryName: actions/my-imagerepo outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: BuildVariables
JSON
{ "name": "ECRBuild", "actionTypeId": { "category": "Build", "owner": "AWS", "provider": "ECRBuildAndPublish", "version": "1" }, "runOrder": 1, "configuration": { "ECRRepositoryName": "actions/my-imagerepo" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "BuildVariables" },

Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.