按照排程啟動配管 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

按照排程啟動配管

您可以在中設定規則, 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. 選擇設定詳細資訊

  9. Configure rule details (設定規則詳細資訊) 頁面上,輸入規則的名稱和描述,然後選擇 State (狀態) 啟用規則。

  10. 如果您對此規則感到滿意,請選擇 Create rule (建立規則)

建立 EventBridge 排程管線以啟動 (CLI) 的規則

若要使用 AWS CLI 建立規則,請呼叫指put-rule令,並指定:

  • 可唯一識別您所建立規則的名稱。在與 AWS 帳戶 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. 為名為 MyFirstPipeline 的管道建立許可政策 JSON,如這個範例所示。將許可政策命名為 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