为 CodeCommit 源创建 EventBridge 规则(控制台)
重要
如果您使用控制台来创建或编辑管道,则系统会为您创建 EventBridge 规则。
创建要在 CodePipeline 操作中使用的 EventBridge 规则
打开位于 https://console.aws.amazon.com/events/
的 Amazon EventBridge 控制台。 -
在导航窗格中,选择规则。保留选中的默认总线或选择一个事件总线。选择创建规则。
-
在名称中,输入规则的名称。
-
对于规则类型,选择具有事件模式的规则。选择下一步。
-
对于事件源,选择 AWS 事件或 EventBridge 合作伙伴事件。
-
在示例事件类型下,选择 AWS 事件。
-
在示例事件中,键入 CodeCommit 作为要筛选的关键字。选择 CodeCommit 存储库状态更改。
-
在创建方法下,选择自定义模式(JSON 编辑器)。
粘贴下面提供的事件模式。下面是具有名为
main的分支的MyTestRepo存储库的事件窗口中的示例 CodeCommit 事件模式:{ "source": [ "aws.codecommit" ], "detail-type": [ "CodeCommit Repository State Change" ], "resources": [ "arn:aws:codecommit:us-west-2:80398EXAMPLE:MyTestRepo" ], "detail": { "referenceType": [ "branch" ], "referenceName": [ "main" ] } } -
在目标中,选择 CodePipeline。
-
输入该规则将启动的管道的管道 ARN。
注意
在运行 get-pipeline 命令后,您可以在元数据输出中找到管道 ARN。管道 ARN 是使用以下格式构造的:
arn:aws:codepipeline:
region:account:pipeline-name示例管道 ARN:
arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline -
要创建或指定一个 IAM 服务角色,该角色向 EventBridge 授予权限以调用与 EventBridge 规则关联的目标(在此示例中,目标为 CodePipeline),请执行以下操作:
-
选择为此特定资源创建新角色以创建一个服务角色,该角色为 EventBridge 授予权限以启动管道执行。
-
选择使用现有角色以输入一个服务角色,该角色为 EventBridge 授予权限以启动管道执行。
-
-
(可选)要使用特定映像 ID 指定源覆盖,请使用输入转换器将数据作为 JSON 参数传递。您也可以使用输入转换器来传递管道变量。
-
展开其他设置。
对于配置目标输入,选择配置输入转换器。
在对话框窗口中,选择输入我自己的。在输入路径框中,键入以下键值对。
{"revisionValue": "$.detail.image-digest"} -
在模板框中,键入以下键值对。
{ "sourceRevisions": [ { "actionName": "Source", "revisionType": "COMMIT_ID", "revisionValue": "<revisionValue>" } ], "variables": [ { "name": "Branch_Name", "value": "value" } ] } -
选择确认。
-
-
选择下一步。
-
在标签页面上,选择下一步。
-
在查看和创建页面上,检查规则配置。如果您对规则满意,请选择 Create rule。