搭配 AWS CodeBuild 使用 AWS CodePipeline 測試程式碼及執行建置 - AWS CodeBuild

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

搭配 AWS CodeBuild 使用 AWS CodePipeline 測試程式碼及執行建置

您可以使用 AWS CodePipeline 自動化您的發行程序來測試您的程式碼,並使用 AWS CodeBuild 執行您的建置。

下表列出可用於執行它們的任務和方法。使用 AWS 開發套件完成這些任務不在本主題的範圍內。

任務 可用方法 本主題中說明的方法
建立持續傳遞 (CD) 管道 CodePipeline ,並自動化建置 CodeBuild
  • CodePipeline 控制台

  • AWS CLI

  • AWS SDK

  • 使用 CodePipeline 主控台

  • 使用 AWS CLI

  • 您可以配合本主題中的資訊使用 AWS 軟體開發套件。如需詳細資訊,請參閱適用於 Amazon Web Services 的 SDK 一節中適用於您程式設計語言的create-pipeline動作文件,或參閱 AWS CodePipelineAPI 參考CreatePipeline中的。

將測試和構建自動化添加 CodeBuild 到中的現有管道 CodePipeline
  • CodePipeline 控制台

  • AWS CLI

  • AWS SDK

必要條件

  1. 回答規劃組建中的問題。

  2. 如果您使用使用者存取 CodePipeline 而不是AWS根帳戶或管理員使用者,請將名為AWSCodePipelineFullAccess的受管政策附加到使用者 (或使用者所屬的 IAM 群組)。不建議使用 AWS 根帳戶。此原則授予使用者在 CodePipeline 中建立管道的許可。如需詳細資訊,請參閱附加使用指南中的受管理策略

    注意

    將政策附加到使用者 (或使用者所屬的 IAM 群組) 的 IAM 實體必須具有 IAM 中的權限才能附加政策。如需詳細資訊,請參閱使用者指南中的委派許可以管理 IAM 使用者、群組和登入資料。

  3. 如果您的AWS帳戶中還沒有可用的 CodePipeline 服務角色,請建立服務角色。 CodePipeline 使用此服務角色與其他AWS服務互動AWS CodeBuild,包括代表您。例如,若要使用AWS CLI建立 CodePipeline 服務角色,請執行 IAM create-role 命令:

    若為 Linux、macOS 或 Unix:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'

    針對 Windows:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
    注意

    建立此 CodePipeline 服務角色的 IAM 實體必須具有 IAM 中的許可,才能建立服務角色。

  4. 建立 CodePipeline 服務角色或識別現有角色之後,您必須將預設 CodePipeline 服務角色原則新增至服務角色原則,如AWS CodePipeline使用者指南中的檢閱預設服 CodePipeline 務角色原則 (如果該角色尚未包含該角色原則的一部分),則必須將預設服務角色原則新增至服務角色原則。

    注意

    新增此 CodePipeline 服務角色政策的 IAM 實體必須具有 IAM 中的許可,才能將服務角色政策新增至服務角色。

  5. 建立原始程式碼並將其上傳至 CodeBuild 和支援的儲存庫類型 CodePipeline CodeCommit,例如 Amazon S3、Bitbucket 或 GitHub. 來源碼應該包含 Buildspec 檔案,但您可以在本主題稍後定義組建專案時宣告一個。如需更多資訊,請參閱 Buildspec 參考

    重要

    若您計劃使用管道來部署建置的原始程式碼,則建置輸出成品必須與您使用的部署系統相容。