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

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

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

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

下表列出可用於執行它們的任務和方法。使用 AWS SDKs來完成這些任務超出本主題的範圍。

任務 可用方法 本主題中說明的方法
使用 建立持續交付 (CD) 管道 CodePipeline ,以 自動建置 CodeBuild
  • CodePipeline 主控台

  • AWS CLI

  • AWS SDKs

使用 將測試和建置自動化 CodeBuild 新增至 中的現有管道 CodePipeline
  • CodePipeline 主控台

  • AWS CLI

  • AWS SDKs

必要條件

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

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

    注意

    將政策連接至使用者 (或使用者所屬的IAM群組) 的IAM實體必須具有 的許可IAM才能連接政策。如需詳細資訊,請參閱 使用者指南 中的委派管理IAM使用者、群組和憑證的許可

  3. 如果您的 AWS 帳戶中還沒有可用的 CodePipeline 服務角色,請建立服務角色。 CodePipeline 會使用此服務角色代表您與其他 AWS 服務互動 AWS CodeBuild,包括 。例如,若要使用 AWS CLI 建立 CodePipeline 服務角色,請執行 IAMcreate-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 參考

    重要

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