Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une EventBridge règle pour une ECR source Amazon (CLI)
Appelez la commande put-rule, en spécifiant les éléments suivants :
-
Un nom qui identifie de façon unique la règle que vous créez. Ce nom doit être unique pour tous les pipelines que vous créez CodePipeline associés à votre AWS compte.
-
Le modèle d'événement pour la source et les champs de détails utilisés par la règle. Pour plus d'informations, consultez Amazon EventBridge et Event Patterns.
Pour créer une EventBridge règle avec Amazon ECR comme source d'événement et CodePipeline comme cible
-
Ajoutez des autorisations EventBridge à utiliser CodePipeline pour invoquer la règle. Pour plus d'informations, consultez Utiliser des politiques basées sur les ressources pour Amazon. EventBridge
-
Utilisez l'exemple suivant pour créer la politique de confiance qui permet EventBridge d'assumer le rôle de service. Nommez la stratégie d'approbation
trustpolicyforEB.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Utilisez la commande suivante pour créer le rôle
Role-for-MyRule
et attachez la stratégie d'approbation.aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
-
Créez la politique d'autorisationJSON, comme indiqué dans cet exemple, pour le pipeline nommé
MyFirstPipeline
. Nommez la stratégie d'autorisationspermissionspolicyforEB.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
-
Utilisez la commande suivante pour attacher au rôle
Role-for-MyRule
la stratégie d'autorisationsCodePipeline-Permissions-Policy-for-EB
.Pourquoi est-ce que j'effectue cette modification ? L'ajout de cette politique au rôle crée des autorisations pour EventBridge.
aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforEB.json
-
-
Appelez la commande put-rule et incluez les paramètres
--name
,--event-pattern
et--role-arn
.Pourquoi est-ce que j'effectue cette modification ? Vous devez créer un événement avec une règle qui spécifie la manière dont un transfert d'image doit être effectué, et une cible qui nomme le pipeline devant être lancé par l'événement.
L'exemple de commande suivant crée une règle nommée
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"Note
Pour consulter le modèle d'événement complet pris en charge pour les ECR événements Amazon, consultez Amazon ECR Events EventBridge et/ou Amazon Elastic Container Registry Events.
-
Pour l'ajouter CodePipeline en tant que cible, appelez la put-targets commande et incluez les paramètres suivants :
-
Le paramètre
--rule
s'utilise avec le la règlerule_name
que vous avez créée à l'aide de la commande put-rule. -
Le paramètre
--targets
s'utilise avec l'ID de listeId
de la cible figurant dans la liste des cibles et l'ARN
du pipeline cible.
L'exemple de commande suivant spécifie que pour la règle appelée
MyECRRepoRule
, l'Id
cible est composé du numéro un, ce qui indique qu'il s'agit de la règle 1 dans une liste de cibles pour la règle. L'exemple de commande spécifie également un exemple d'Arn
pour le pipeline et l'exemple deRoleArn
pour la règle. Le pipeline démarre lorsque des modifications sont effectuées dans le référentiel.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
-