按计划启动管道 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

按计划启动管道

您可以在中设置规则 EventBridge 以按计划启动管道。

创建安排管道启动的 EventBridge 规则(控制台)

创建以时间表作为事件源的 EventBridge 规则
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择规则

  3. 选择创建规则,然后在规则详细信息下面选择计划

  4. 使用固定速率或表达式设置计划。有关更多信息,请参阅规则的计划表达式

  5. 在 “目标” 中,选择CodePipeline

  6. ARN为该计划输入管道执行的管道。

    注意

    你可以在控制台的 “设置” ARN 下找到管道。请参阅 查看管道ARN和服务角色ARN(控制台)

  7. 选择以下选项之一来创建或指定一个IAM服务角色,该角色 EventBridge 授予调用与您的 EventBridge 规则关联的目标的权限(在本例中,目标是 CodePipeline)。

    • 选择 “为此特定资源创建新角色”,创建一个服务角色来授予启动管道执行的 EventBridge权限。

    • 选择 “使用现有角色” 以输入服务角色,该角色授予启动管道执行的 EventBridge 权限。

  8. 选择 Configure details(配置详细信息)

  9. 配置规则详细信息页上,输入规则的名称和描述,然后选择状态以启用该规则。

  10. 如果您对规则满意,请选择 Create rule

创建安排管道启动的 EventBridge 规则 (CLI)

要使用创建规则,请调用put-rule命令,指定: Amazon CLI

  • 唯一地标识创建的规则的名称。在您创建的与 Amazon 账户 CodePipeline 关联的所有管道中,此名称必须是唯一的。

  • 规则的计划表达式。

创建以时间表作为事件源的 EventBridge 规则
  1. 调用 put-rule 命令并包含 --name --schedule-expression 参数。

    示例:

    以下示例命令用于--schedule-expression创建名为按计划MyRule2 EventBridge 进行筛选的规则。

    aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
  2. 授 EventBridge 予使用调 CodePipeline 用规则的权限。有关更多信息,请参阅使用适用于 Amazon EventBridge 的基于资源的政策。

    1. 使用以下示例创建允许 EventBridge担任服务角色的信任策略。将它命名为 trustpolicyforEB.json

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. 使用以下命令创建 Role-for-MyRule 角色并附加信任策略。

      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
    3. 为名JSON为的管道创建权限策略,如本示例所示MyFirstPipeline。将权限策略命名为 permissionspolicyforEB.json

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
    4. 使用以下命令将新的 CodePipeline-Permissions-Policy-for-EB 权限策略附加到您创建的 Role-for-MyRule 角色。

      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json