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

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

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

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

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

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

  • AWS CLI

  • AWS SDK

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

  • AWS CLI

  • AWS SDK

先決條件

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

  2. 如果您使用 IAM 用户訪問代 CodePipeline 而不是AWS根賬户或管理員 IAM 用户,請附加名為AWSCodePipelineFullAccess(或使用者所屬的 IAM 組)。不建議使用 AWS 根帳戶。此政策授予使用者在 CodePipeline 中建立管道的許可。如需詳細資訊,請參閱「」附加託管策略中的IAM User Guide

    注意

    將政策連接至使用者 (或使用者所屬的 IAM 組) 的 IAM 實體必須在 IAM 中擁有許可,才能連接政策。如需詳細資訊,請參閱「」委派管理 IAM 用户、組和證書的權限中的IAM User Guide

  3. 建立 CodePipeline 服務角色,若您還沒有AWS帳户。CodePipeline 使用此服務角色與其他AWS服務,包括AWS CodeBuild,會代表您執行此操作。例如:若要使用AWS CLI創建代碼服務角色,請運行 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 服務角色政策新增至服務角色,如查看默認的 CodePipeline 角色策略中的AWS CodePipeline使用者指南,若還沒有成為角色政策的一部分,請參。

    注意

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

  5. 建立並將源代碼上傳至 CodePipeline 支援的存儲庫類型,例如 CodeCommit Pipeline、Amazon S3 或 GitHub。(CodePipeline 目前不支援位桶。) 來源碼應該包含 Buildspec 檔案,但您可以在本主題稍後定義組建專案時宣告一個。如需詳細資訊,請參閱 Buildspec 參考

    重要

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