本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 CodeBuild 建置動作新增至管道 (CodePipeline 主控台)
-
使用下列方法登入 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
-
-
請在以下位置開啟CodePipeline主控台。
https://console.aws.amazon.com/codesuite/codepipeline/home -
在AWS區域選取器中,選擇管線所在的AWS區域。這必須是支援 CodeBuild 的區域。如需詳細資訊,請參閱 Amazon Web Services 一般參考 中的 CodeBuild。
-
在 Pipelines (管道) 頁面上,選擇管道名稱。
-
在管道詳細資訊頁面上,於 Source (來源) 動作中,選擇工具提示。記下「輸出」加工品的值 (例如,MyApp)。
注意
此程序說明如何在 Source (來源) 和 Beta 階段間的組建階段內新增組建動作。若您希望將組建動作新增至其他地方,請選擇動作上的工具提示 (就在您要新增組建動作之位置前),然後記下 Output artifact (輸出成品) 的值。
-
選擇 編輯 。
-
在 Source (來源) 和 Beta 階段間,選擇 Add stage (新增階段)。
注意
此程序說明如何在 Source (來源) 和 Beta 階段之間將建置階段新增至您的管道。若要將組建動作新增至現有的階段,請選擇階段中的Edit stage (編輯階段) 圖示,然後跳到此程序的步驟 8。若要在別處新增組建階段,請在所需位置選擇 Add stage (新增階段)。
-
針對 Stage name (階段名稱),輸入組建階段的名稱 (例如,
Build
)。如果您選擇其他名稱,請在此程序中皆使用它。 -
在選取的階段內部,選擇 Add action (新增動作)。
注意
此程序說明您如何在組建階段內新增組建動作。若要在別處新增組建動作,請在所需位置選擇 Add action (新增動作)。您可能必須先選擇您欲新增組建動作之現有階段內的 Edit stage (編輯階段)。
-
在 Edit action (編輯動作) 中,針對 Action name (動作名稱),輸入動作的名稱 (例如
CodeBuild
)。如果您選擇其他名稱,請在此程序中皆使用它。 -
針對 Action provider (動作提供者),選擇 CodeBuild。
-
如果您已經有要使用的組建專案,請選擇建置專案的名稱做為 [專案名稱],然後跳到此程序的下一個步驟。
如果您需要建立新的CodeBuild組建專案,請遵循中的指示建立組建專案 (主控台)並返回此程序。
若您選擇現有的建置專案,則該專案必須具備已定義的建置輸出成品設定 (即使 CodePipeline 會覆寫它們)。如需詳細資訊,請參閱建立組建專案 (主控台)或中的人工因素說明變更建置專案的設定 (主控台)。
重要
若您啟用 CodeBuild 專案的 Webhook,且專案是做為 CodePipeline 中的組建步驟使用,則會為每一次的遞交建立兩個完全相同的組建。其中一個建置是透過 Webhook 觸發,另一個則是透過 CodePipeline 觸發。因為帳單是以每次組建為基礎,因此您將必須同時為兩次組建支付費用。因此,若您使用 CodePipeline,我們建議您在 CodeBuild 中停用 Webhook。在 CodeBuild 主控台中,清除 Webhook 方塊。如需詳細資訊,請參閱 變更建置專案的設定 (主控台)
-
針對 Input artifacts (輸入成品),選擇您稍早在本程序中記下的輸出成品。
-
針對 Output artifacts (輸出成品),輸入輸出成品名稱 (例如,
MyAppBuild
)。 -
選擇 Add action (新增動作)。
-
選擇 Save (儲存),然後選擇 Save (儲存) 以儲存對管道的變更。
-
選擇 Release change (版本變更)。
-
在管道執行成功之後,您便會取得組建輸出成品。當管道在 CodePipeline 主控台中顯示時,在 Build (建置) 動作內,選擇工具提示。記下「輸出」加工品的值 (例如,MyAppBuild)。
注意
您也可以在CodeBuild主控台的 [組建詳細資料] 頁面上選擇 [組建成品] 連結,以取得組建輸出成品。若要抵達此頁面,請參閱檢視建置的詳細資訊 (主控台),然後跳到此程序的步驟 31。
請在 https://console.aws.amazon.com/s3/
開啟 Amazon Simple Storage Service (Amazon S3) 主控台。 -
在儲存貯體清單中,開啟管線使用的儲存貯體。儲存貯體名稱必須遵循以下格式:
codepipeline-
。您可以使用 AWS CLI 執行 CodePipeline get-pipeline 命令,取得儲存貯體的名稱:region-ID
-random-number
aws codepipeline get-pipeline --name
my-pipeline-name
在輸出中,
pipeline
物件包含artifactStore
物件,其中包含帶有儲存貯體名稱的location
值。 -
開啟與您管道名稱相符的資料 (根據管道名稱的長度,資料夾的名稱可能會遭到截斷),然後開啟與您稍早在本程序中記下的 Output artifact (輸出成品) 值相符的資料夾。
-
解壓縮 檔案的內容。若該資料夾中有多個檔案,請解壓縮 Last Modified (最後修改) 時間戳記最新的檔案內容。(您可能需要為檔案加上
.zip
副檔名,才能搭配您系統的 ZIP 公用程式使用。) 組建輸出成品位於檔案的解壓縮內容中。 -
若您指示 CodePipeline 部署組建輸出成品,請使用部署提供者的說明以取得部署目標上的部署輸出成品。