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

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

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

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

    • 您的 AWS 根帳戶。此為不建議的選項。如需詳細資訊,請參閱「」帳户根使用者中的IAM User Guide

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

    • 您的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 的區域。如需詳細資訊,請參閱「」CodeBuild中的Amazon Web Services 一般參考

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

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

    注意

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

  6. 選擇 Edit (編輯)。

  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. 適用於動作供應商,選擇CodeBuild

  12. 若您已有想要使用的組建專案,請執行Project name (專案名稱)下,選擇組建專案名稱,然後跳到此程序中的下一步驟。

    若您需要建立新的 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 主控台中時,在建置操作中,選擇工具提示。記下 Output artifact (輸出成品) 的值 (例如,MyAppBuild)。

    注意

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

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

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

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

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

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

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

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