使用事件开始 CodePipeline执行 - CodeArtifact

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用事件开始 CodePipeline执行

此示例演示如何配置 Amazon EventBridge 规则,以便在发布、修改或删除 CodeArtifact 存储库中的软件包版本时开始 AWS CodePipeline 执行。

配置 EventBridge权限

您必须为 EventBridge 添加权限 CodePipeline 才能调用您创建的规则。要使用 AWS Command Line Interface (AWS CLI) 添加这些权限,请按照AWS CodePipeline 用户指南为 CodeCommit 源创建 CloudWatch 事件规则 (CLI) 中的步骤 1 进行操作。

创建 EventBridge规则

要创建规则,请使用带有 --name--event-pattern 参数的 put-rule 命令。事件模式指定与每个事件的内容相匹配的值。如果模式与事件匹配,则会触发目标。例如,以下模式匹配来自my_domain域中myrepo存储库 CodeArtifact 的事件。

aws events put-rule --name MyCodeArtifactRepoRule --event-pattern \ '{"source":["aws.codeartifact"],"detail-type":["CodeArtifact Package Version State Change"], "detail":{"domainName":["my_domain"],"domainOwner":["111122223333"],"repositoryName":["myrepo"]}}'

创建 EventBridge规则目标

以下命令将目标添加到规则中,这样当事件与规则匹配时,就会触发 CodePipeline 执行。对于 RoleArn 参数,请指定之前在本主题中创建的角色的 Amazon 资源名称 (ARN)。

aws events put-targets --rule MyCodeArtifactRepoRule --targets \ 'Id=1,Arn=arn:aws:codepipeline:us-west-2:111122223333:pipeline-name, RoleArn=arn:aws:iam::123456789012:role/MyRole'