本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 AWS CodeBuild 使用 AWS CodePipeline 測試程式碼及執行建置
您可以使用 AWS CodePipeline 自動化您的發行程序來測試您的程式碼,並使用 AWS CodeBuild 執行您的建置。
下表列出可用於執行它們的任務和方法。使用 AWS 開發套件完成這些任務不在本主題的範圍內。
任務 | 可用方法 | 本主題中說明的方法 |
---|---|---|
使用 CodePipeline 建立持續交付 (CD) 管道,使用 CodePipeline 來自動化建置使用 CodePipeline |
|
|
使用 CodePipeline 中的現有管道中的 CodePipeline 將測試和建置自動化新增至 |
|
|
先決條件
-
回答規劃組建中的問題。
-
如果您使用 IAM 用户訪問代 CodePipeline 而不是AWS根賬户或管理員 IAM 用户,請附加名為
AWSCodePipelineFullAccess
(或使用者所屬的 IAM 組)。不建議使用 AWS 根帳戶。此政策授予使用者在 CodePipeline 中建立管道的許可。如需詳細資訊,請參閱「」附加託管策略中的IAM User Guide。注意 將政策連接至使用者 (或使用者所屬的 IAM 組) 的 IAM 實體必須在 IAM 中擁有許可,才能連接政策。如需詳細資訊,請參閱「」委派管理 IAM 用户、組和證書的權限中的IAM User Guide。
-
建立 CodePipeline 服務角色,若您還沒有AWS帳户。CodePipeline 使用此服務角色與其他AWS服務,包括AWS CodeBuild,會代表您執行此操作。例如:若要使用AWS CLI創建代碼服務角色,請運行 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 中擁有許可才能建立服務角色。
-
在您建立 CodePipeline 服務角色或確定現有的角色之後,您必須將默認 CodePipeline 服務角色政策新增至服務角色,如查看默認的 CodePipeline 角色策略中的AWS CodePipeline使用者指南,若還沒有成為角色政策的一部分,請參。
注意 新增此 CodePipeline 服務角色政策的 IAM 實體必須在 IAM 中擁有許可,才能將服務角色政策新增至服務角色。
-
建立並將源代碼上傳至 CodePipeline 支援的存儲庫類型,例如 CodeCommit Pipeline、Amazon S3 或 GitHub。(CodePipeline 目前不支援位桶。) 來源碼應該包含 Buildspec 檔案,但您可以在本主題稍後定義組建專案時宣告一個。如需詳細資訊,請參閱 Buildspec 參考。
重要 若您計劃使用管道來部署建置的原始程式碼,則建置輸出成品必須與您使用的部署系統相容。
-
有關 CodeDeploy 的信息,請參閲AWS CodeDeploy 範例本指南中的為 CodeDeploy 準備修訂中的AWS CodeDeploy使用者指南。
-
適用於AWS Elastic Beanstalk,請參AWS Elastic Beanstalk 範例本指南中的建立應用程式原始碼套件中的AWS Elastic Beanstalk開發人員指南。
-
適用於AWS OpsWorks,請參應用程式來源和使用 CodePipelineAWS OpsWorks中的AWS OpsWorks使用者指南。
-
主題