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

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

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

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

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

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

    • 您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. 請在以下位置開啟CodePipeline主控台。 https://console.aws.amazon.com/codesuite/codepipeline/home

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

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

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

    注意

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

  6. 選擇 編輯

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

    注意

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

  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,我們建議您在 CodeBuild 中停用 Webhook。在 CodeBuild 主控台中,清除 Webhook 方塊。如需詳細資訊,請參閱 變更建置專案的設定 (主控台)

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

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

  15. 選擇 Add action (新增動作)

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

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

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

    注意

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

  19. 請在 https://console.aws.amazon.com/s3/ 開啟 Amazon Simple Storage Service (Amazon 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 部署組建輸出成品,請使用部署提供者的說明以取得部署目標上的部署輸出成品。