Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea una EventBridge regola per un codice sorgente Amazon ECR (CLI)
Chiama il comando put-rule, specificando:
-
Un nome che identifica in modo univoco la regola che stai creando. Questo nome deve essere univoco in tutte le pipeline che crei e CodePipeline associate al tuo account. AWS
-
Il modello eventi per i campi di origine e di dettaglio utilizzati dalla regola. Per ulteriori informazioni, consulta Amazon EventBridge e Event Patterns.
Per creare una EventBridge regola con Amazon ECR come origine dell'evento e CodePipeline come destinazione
-
Aggiungi le autorizzazioni EventBridge da utilizzare per CodePipeline richiamare la regola. Per ulteriori informazioni, consulta Utilizzo delle politiche basate sulle risorse per Amazon. EventBridge
-
Utilizza l'esempio seguente per creare la policy di attendibilità per consentire a EventBridge di assumere il ruolo del servizio. Denomina la policy di attendibilità
trustpolicyforEB.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Utilizza il seguente comando per creare il ruolo
Role-for-MyRule
e collegare la policy di attendibilità.aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
-
Crea il JSON della policy delle autorizzazioni, come mostrato in questo esempio, per la pipeline denominata
MyFirstPipeline
. Denomina la policy delle autorizzazionipermissionspolicyforEB.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
-
Utilizza il comando seguente per collegare la policy delle autorizzazioni
CodePipeline-Permissions-Policy-for-EB
al ruoloRole-for-MyRule
.Perché occorre apportare questa modifica? L'aggiunta di questa politica al ruolo crea autorizzazioni per. EventBridge
aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforEB.json
-
-
Richiama il comando put-rule e includi i parametri
--name
,--event-pattern
e--role-arn
.Perché occorre apportare questa modifica? È necessario creare un evento con una regola che specifichi come deve essere eseguito il push di un'immagine e un obiettivo che nomini la pipeline da avviare dall'evento.
Il seguente comando di esempio crea una regola denominata
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\":[\"eb-test\"],\"result\":[\"SUCCESS\"]}}}" --role-arn "arn:aws:iam::
ACCOUNT_ID
:role/Role-for-MyRule"Nota
Per visualizzare il modello di eventi completo supportato per gli eventi Amazon ECR, consulta Amazon ECR Events e/o EventBridge Amazon Elastic Container Registry Events.
-
Per aggiungerlo CodePipeline come destinazione, chiama il put-targets comando e includi i seguenti parametri:
-
Il parametro
--rule
viene utilizzato con ilrule_name
che hai creato utilizzando put-rule. -
Il parametro
--targets
viene utilizzato con l'Id
elenco della destinazione nell'elenco delle destinazioni e l'ARN
della pipeline di destinazione.
Il comando di esempio seguente specifica che per la regola denominata
MyECRRepoRule
, la destinazioneId
è composta dal numero uno, per indicare che in un elenco di destinazioni per la regola questa è la destinazione 1. Il comando di esempio specifica anche un esempioArn
per la pipeline e l'esempioRoleArn
per la regola. La pipeline si avvia quando si verifica una modifica nel repository.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
-