將 CodeBuild 建置動作新增至管道 (CodePipeline 主控台) - AWS CodeBuild

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

將 CodeBuild 建置動作新增至管道 (CodePipeline 主控台)

  1. 使用下列 AWS Management Console 方式登入 :

    • 您的 AWS 根帳戶。此為不建議的選項。如需詳細資訊,請參閱 使用者指南 中的帳戶根使用者

    • 您 AWS 帳戶中的管理員使用者。如需詳細資訊,請參閱 使用者指南 中的建立您的第一個 AWS 帳戶 根使用者和群組

    • 您 AWS 帳戶中具有執行下列最低動作集之許可的使用者:

      codepipeline:* iam:ListRoles iam:PassRole s3:CreateBucket s3:GetBucketPolicy s3:GetObject s3:ListAllMyBuckets s3:ListBucket s3:PutBucketPolicy codecommit:ListBranches codecommit:ListRepositories codedeploy:GetApplication codedeploy:GetDeploymentGroup codedeploy:ListApplications codedeploy:ListDeploymentGroups elasticbeanstalk:DescribeApplications elasticbeanstalk:DescribeEnvironments lambda:GetFunctionConfiguration lambda:ListFunctions opsworks:DescribeStacks opsworks:DescribeApps opsworks:DescribeLayers
  2. https://console.aws.amazon.com/codesuite/Codepipeline/home 開啟 CodePipeline 主控台。

  3. 在 AWS 區域選取器中,選擇管道所在的 AWS 區域。這必須是 CodeBuild 支援 的區域。如需詳細資訊,請參閱CodeBuild中的 Amazon Web Services 一般參考

  4. Pipelines (管道) 頁面上,選擇管道名稱。

  5. 在管道詳細資訊頁面上,於 Source (來源) 動作中,選擇工具提示。記下輸出成品的值 (例如 MyApp)。

    注意

    此程序說明如何在 Source (來源)Beta 階段間的組建階段內新增組建動作。若您希望將組建動作新增至其他地方,請選擇動作上的工具提示 (就在您要新增組建動作之位置前),然後記下 Output artifact (輸出成品) 的值。

  6. 選擇編輯

  7. Source (來源)Beta 階段間,選擇 Add stage (新增階段)

    注意

    此程序說明如何在 Source (來源)Beta 階段之間將建置階段新增至您的管道。若要將組建動作新增至現有的階段,請選擇階段中的Edit stage (編輯階段) 圖示,然後跳到此程序的步驟 8。若要在別處新增組建階段,請在所需位置選擇 Add stage (新增階段)

    如何將 Source 和 Beta 階段之間的建置階段新增至管道。

  8. 針對 Stage name (階段名稱),輸入組建階段的名稱 (例如,Build)。如果您選擇其他名稱,請在此程序中皆使用它。

  9. 在選取的階段內部,選擇 Add action (新增動作)

    注意

    此程序說明您如何在組建階段內新增組建動作。若要在別處新增組建動作,請在所需位置選擇 Add action (新增動作)。您可能必須先選擇您欲新增組建動作之現有階段內的 Edit stage (編輯階段)

  10. Edit action (編輯動作) 中,針對 Action name (動作名稱),輸入動作的名稱 (例如 CodeBuild)。如果您選擇其他名稱,請在此程序中皆使用它。

  11. 針對 Action provider (動作提供者),選擇 CodeBuild

  12. 如果您已有要使用的建置專案,請在專案名稱 中選擇建置專案的名稱,然後跳至此程序的下一個步驟。

    如果您需要建立新的 CodeBuild 建置專案,請遵循 中的指示建立組建專案 (主控台)並返回此程序。

    如果您選擇現有的建置專案,則其必須已定義建置輸出成品設定 (即使 CodePipeline 覆寫它們)。如需詳細資訊,請參閱 建立組建專案 (主控台)或 中的偽影描述變更建置專案的設定 (主控台)

    重要

    如果您為 CodeBuild 專案啟用 Webhook,且專案在 中用作建置步驟 CodePipeline,則為每個遞交建立兩個相同的建置。一個建置是透過 Webhook 觸發,一個透過 觸發 CodePipeline。因為帳單是以每次組建為基礎,因此您將必須同時為兩次組建支付費用。因此,如果您使用 CodePipeline,建議您在 中停用 Webhook CodeBuild。在 CodeBuild 主控台中,清除 Webhook 方塊。如需詳細資訊,請參閱 變更建置專案的設定 (主控台)

  13. 針對 Input artifacts (輸入成品),選擇您稍早在本程序中記下的輸出成品。

  14. 針對 Output artifacts (輸出成品),輸入輸出成品名稱 (例如,MyAppBuild)。

  15. 選擇新增動作

  16. 選擇 Save (儲存),然後選擇 Save (儲存) 以儲存對管道的變更。

  17. 選擇 Release change (版本變更)

  18. 在管道執行成功之後,您便會取得組建輸出成品。使用 CodePipeline 主控台中顯示的管道,在建置動作中選擇工具提示。記下輸出成品的值 (例如 MyAppBuild)。

    注意

    您也可以在 CodeBuild 主控台的建置詳細資訊頁面上選擇建置成品連結,以取得建置輸出成品。若要抵達此頁面,請參閱檢視建置的詳細資訊 (主控台),然後跳到此程序的步驟 31。

  19. 在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  20. 在儲存貯體清單中,開啟管線使用的儲存貯體。儲存貯體名稱必須遵循以下格式:codepipeline-region-ID-random-number。您可以使用 AWS CLI 執行 CodePipeline get-pipeline 命令,以取得儲存貯體的名稱:

    aws codepipeline get-pipeline --name my-pipeline-name

    在輸出中,pipeline 物件包含 artifactStore 物件,其中包含帶有儲存貯體名稱的 location 值。

  21. 開啟與您管道名稱相符的資料 (根據管道名稱的長度,資料夾的名稱可能會遭到截斷),然後開啟與您稍早在本程序中記下的 Output artifact (輸出成品) 值相符的資料夾。

  22. 解壓縮 檔案的內容。若該資料夾中有多個檔案,請解壓縮 Last Modified (最後修改) 時間戳記最新的檔案內容。(您可能需要為 檔案提供.zip副檔名,以便在系統ZIP公用程式中使用。) 組建輸出成品位於檔案的解壓縮內容中。

  23. 如果您指示 CodePipeline 部署建置輸出成品,請使用部署提供者的指示來取得部署目標上的建置輸出成品。