本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立使用 CodeBuild 的管道 (AWS CLI)
請遵循以下程序來建立使用的管道,以建立使用 CodeBuild 來建立您的來源碼。
若要使用 AWS for WordPressAWS CLI來建立部署您建置的來源碼的管道,或者僅測試您的來源碼,您可以在編輯管道 (AWS CLI)與編碼管道結構參考中的AWS CodePipeline使用者指南。
-
在代碼建立中建立或找出建置專案。如需詳細資訊,請參閱 建立組建專案。
重要 建置專案必須定義建置輸出成品設定 (即使 CodePipeline 會覆寫它們)。如需詳細資訊,請參閱建立建置專案 (AWS CLI)中的
artifacts
描述。 -
確認您已配置AWS CLI使用AWS存取金鑰和AWS私密存取金鑰,該金鑰會對應到本主題中描述的其中一個 IAM 實體。如需詳細資訊,請參閱「」設定AWS Command Line Interface中的AWS Command Line Interface使用者指南。
-
建立代表管線結構的 JSON 格式檔案。將檔案命名為
create-pipeline.json
或相似名稱。例如,此 JSON 格式結構會使用參考 S3 輸入儲存貯體的來源動作,以及使用 CodeBuild 的建置動作建立管線:{ "pipeline": { "roleArn": "arn:aws:iam::
<account-id>
:role/<AWS-CodePipeline-service-role-name>
", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>
", "S3ObjectKey": "<source-code-file-name.zip>
" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>
" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>
" }, "name": "<my-pipeline-name>
", "version": 1 } }在此 JSON 格式資料中:
-
的值
roleArn
必須符合您在事前準備中建立或找到之 CodePipeline 服務角色的 ARN。 -
configuration
中S3Bucket
和S3ObjectKey
的值會假設原始程式碼存放於 S3 儲存貯體中。有關其他源代碼存儲庫類型的設置,請參閲編碼管道結構參考中的AWS CodePipeline使用者指南。 -
的值
ProjectName
是您在此程序中先前建立的 CodeBuild 建置專案的名稱。 -
location
的值為此管線使用的 S3 儲存貯體名稱。如需詳細資訊,請參閱「」建立要做為成品存放區使用的 S3 儲存貯 CodePipeline中的AWS CodePipeline使用者指南。 -
name
的值為此管線的名稱。所有管線名稱對您的帳戶來說都必須是獨一無二的。
雖然此資料僅描述來源動作和建置動作,您可以新增與測試、部署建置輸出成品、呼叫 AWS Lambda 函數等有關的活動動作。如需詳細資訊,請參閲 。AWS CodePipeline管道結構參考中的AWS CodePipeline使用者指南。
-
-
切換到包含 JSON 檔案的文件夾,然後執行create-pipeline命令,指定檔案名稱:
aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
注意 您必須在AWS支持 CodeBuild 的區域。如需詳細資訊,請參閱 Amazon Web Services 一般參考中的 AWS CodeBuild。
JSON 格式資料會顯示在輸出中,並且代碼會建立管道。
-
若要取得管道狀態的相關資 CodePipeline,請執行get-pipeline-state命令,指定管道名稱:
aws codepipeline get-pipeline-state --name
<my-pipeline-name>
在輸出中,尋找確認建置成功的資訊。省略符號 (
...
) 用於顯示為求簡化而省略的資料。{ ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }
若您太早執行此命令,您可能會無法看到任何與建置動作有關的資訊。您可能需要執行此命令數次,直到管線完成執行建置動作。
-
在成功建置之後,請遵循這些說明取得建置輸出成品。請在 https://console.aws.amazon.com/s3/
開啟 Amazon S3 主控台。 注意 您還可以通過選擇建置成品鏈接在 CodeBuild 控制台中相關的生成詳細信息頁面上。若要抵達此頁面,請跳過此程序中的其餘步驟,並參閱檢視建置的詳細資訊 (主控台)。
-
在儲存貯體清單中,開啟管線使用的儲存貯體。儲存貯體名稱必須遵循以下格式:
codepipeline-
。您可以從<region-ID>
-<random-number>
create-pipeline.json
文件,也可以運 CodePipelineget-pipeline命令來獲取存儲桶的名稱。aws codepipeline get-pipeline --name
<pipeline-name>
在輸出中,
pipeline
物件包含artifactStore
物件,其中包含帶有儲存貯體名稱的location
值。 -
開啟與您管線名稱相符的資料夾 (例如,
)。<pipeline-name>
-
在該資料夾中,開啟名為
default
的資料夾。 -
解壓縮 檔案的內容。若該資料夾中有多個檔案,請解壓縮 Last Modified (最後修改) 時間戳記最新的檔案內容。(您可能需要為檔案加上
.zip
副檔名,才能與您系統的 ZIP 公用程式搭配使用。) 組建輸出成品位於檔案的解壓縮內容中。