建立使用 CodeBuild 的管道 (AWS CLI) - AWS CodeBuild

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

建立使用 CodeBuild 的管道 (AWS CLI)

請遵循以下程序來建立使用的管道,以建立使用 CodeBuild 來建立您的來源碼。

若要使用 AWS for WordPressAWS CLI來建立部署您建置的來源碼的管道,或者僅測試您的來源碼,您可以在編輯管道 (AWS CLI)編碼管道結構參考中的AWS CodePipeline使用者指南

  1. 在代碼建立中建立或找出建置專案。如需詳細資訊,請參閱 建立組建專案

    重要

    建置專案必須定義建置輸出成品設定 (即使 CodePipeline 會覆寫它們)。如需詳細資訊,請參閱建立建置專案 (AWS CLI)中的 artifacts 描述。

  2. 確認您已配置AWS CLI使用AWS存取金鑰和AWS私密存取金鑰,該金鑰會對應到本主題中描述的其中一個 IAM 實體。如需詳細資訊,請參閱「」設定AWS Command Line Interface中的AWS Command Line Interface使用者指南

  3. 建立代表管線結構的 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。

    • configurationS3BucketS3ObjectKey 的值會假設原始程式碼存放於 S3 儲存貯體中。有關其他源代碼存儲庫類型的設置,請參閲編碼管道結構參考中的AWS CodePipeline使用者指南

    • 的值ProjectName是您在此程序中先前建立的 CodeBuild 建置專案的名稱。

    • location 的值為此管線使用的 S3 儲存貯體名稱。如需詳細資訊,請參閱「」建立要做為成品存放區使用的 S3 儲存貯 CodePipeline中的AWS CodePipeline使用者指南

    • name 的值為此管線的名稱。所有管線名稱對您的帳戶來說都必須是獨一無二的。

    雖然此資料僅描述來源動作和建置動作,您可以新增與測試、部署建置輸出成品、呼叫 AWS Lambda 函數等有關的活動動作。如需詳細資訊,請參閲 。AWS CodePipeline管道結構參考中的AWS CodePipeline使用者指南

  4. 切換到包含 JSON 檔案的文件夾,然後執行create-pipeline命令,指定檔案名稱:

    aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
    注意

    您必須在AWS支持 CodeBuild 的區域。如需詳細資訊,請參閱 Amazon Web Services 一般參考中的 AWS CodeBuild

    JSON 格式資料會顯示在輸出中,並且代碼會建立管道。

  5. 若要取得管道狀態的相關資 CodePipeline,請執行get-pipeline-state命令,指定管道名稱:

    aws codepipeline get-pipeline-state --name <my-pipeline-name>

    在輸出中,尋找確認建置成功的資訊。省略符號 (...) 用於顯示為求簡化而省略的資料。

    { ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }

    若您太早執行此命令,您可能會無法看到任何與建置動作有關的資訊。您可能需要執行此命令數次,直到管線完成執行建置動作。

  6. 在成功建置之後,請遵循這些說明取得建置輸出成品。請在 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

    注意

    您還可以通過選擇建置成品鏈接在 CodeBuild 控制台中相關的生成詳細信息頁面上。若要抵達此頁面,請跳過此程序中的其餘步驟,並參閱檢視建置的詳細資訊 (主控台)

  7. 在儲存貯體清單中,開啟管線使用的儲存貯體。儲存貯體名稱必須遵循以下格式:codepipeline-<region-ID>-<random-number>。您可以從create-pipeline.json文件,也可以運 CodePipelineget-pipeline命令來獲取存儲桶的名稱。

    aws codepipeline get-pipeline --name <pipeline-name>

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

  8. 開啟與您管線名稱相符的資料夾 (例如,<pipeline-name>)。

  9. 在該資料夾中,開啟名為 default 的資料夾。

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