Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat aturan CloudWatch Events untuk sumber Amazon ECR (CLI)
Memanggilput-ruleperintah, menentukan:
-
Nama yang secara unik mengidentifikasi aturan yang Anda buat. Nama ini harus unik di semua jaringan pipa yang Anda buat dengan CodePipeline yang terkait denganAWSakun.
-
Pola acara untuk bidang sumber dan detail yang digunakan oleh aturan. Untuk informasi selengkapnya, lihatPeristiwa dan Pola Peristiwa Amazon CloudWatch.
Untuk membuat aturan CloudWatch Events dengan Amazon ECR sebagai sumber peristiwa dan CodePipeline sebagai target
-
Tambahkan izin untuk Amazon CloudWatch Events agar dapat menggunakan CodePipeline untuk memanggil aturan tersebut. Untuk informasi selengkapnya, lihatMenggunakan kebijakan berbasis sumber daya untuk Amazon EventBridge.
-
Gunakan contoh berikut untuk membuat kebijakan kepercayaan yang memungkinkan CloudWatch Events untuk mengambil peran layanan. Beri nama kebijakan kepercayaan
trustpolicyforCWE.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Gunakan perintah berikut untuk membuat
Role-for-MyRule
peran dan melampirkan kebijakan kepercayaan.aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforCWE.json
-
Buat kebijakan izin JSON, seperti yang ditunjukkan dalam sampel ini, untuk pipa bernama
MyFirstPipeline
. Beri nama kebijakan izinpermissionspolicyforCWE.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
-
Gunakan perintah berikut untuk melampirkan
CodePipeline-Permissions-Policy-for-CWE
kebijakan izin untukRole-for-MyRule
peran.Mengapa saya membuat perubahan ini? Menambahkan kebijakan ini ke peran akan membuat izin untuk CloudWatch Events.
aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-CWE --policy-document file://permissionspolicyforCWE.json
-
-
Memanggilput-ruleperintah dan termasuk
--name
,--event-pattern
, dan--role-arn
parameter.Mengapa saya membuat perubahan ini? Anda harus membuat acara dengan aturan yang menentukan bagaimana push gambar harus dibuat, dan target yang menamai pipeline yang akan dimulai oleh acara.
Contoh perintah berikut membuat aturan yang disebut
MyECRRepoRule
.aws events put-rule --name "MyECRRepoRule" --event-pattern "{\"detail-type\":[\"ECR Image Action\"],\"source\":[\"aws.ecr\"],\"detail\":{\"action-type\":[\"PUSH\"],\"image-tag\":[\"latest\"],\"repository-name\":[\"cwe-test\"],\"result\":[\"SUCCESS\"]}}}" --role-arn "arn:aws:iam::
ACCOUNT_ID
:role/Role-for-MyRule"catatan Untuk melihat pola acara lengkap yang didukung untuk peristiwa Amazon ECR, lihatPeristiwa Amazon ECR dan EventBridgeatauPeristiwa Amazon Elastic Container Registry.
-
Untuk menambahkan CodePipeline sebagai target, panggilput-targetsperintah dan mencakup parameter berikut:
-
Parameter
--rule
parameter yang digunakan denganrule_name
kamu buat dengan menggunakanput-rule. -
Parameter
--targets
parameter yang digunakan dengan daftarId
dari target dalam daftar target danARN
dari pipa target.
Contoh perintah berikut menentukan bahwa untuk aturan yang disebut
MyECRRepoRule
, targetId
terdiri dari nomor satu, menunjukkan bahwa dalam daftar target untuk aturan, ini adalah target 1. Perintah sampel juga menentukan contohArn
untuk pipa dan contohnyaRoleArn
untuk aturan. Pipa dimulai ketika sesuatu berubah dalam repositori.aws events put-targets --rule MyECRRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline,RoleArn=arn:aws:iam::80398EXAMPLE:role/Role-for-MyRule
-