本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeBuild 搭配 使用 AWS CodePipeline 來測試程式碼和執行建置
您可以使用 AWS CodePipeline 來測試程式碼,並使用 執行建置,以自動化發行程序 AWS CodeBuild。
下表列出可用於執行它們的任務和方法。使用 AWS SDKs來完成這些任務超出本主題的範圍。
任務 | 可用方法 | 本主題中說明的方法 |
---|---|---|
使用 建立持續交付 (CD) 管道 CodePipeline ,以 自動建置 CodeBuild |
|
|
使用 將測試和建置自動化 CodeBuild 新增至 中的現有管道 CodePipeline |
|
|
主題
必要條件
-
回答規劃組建中的問題。
-
如果您使用使用者來存取 , CodePipeline 而不是 AWS 根帳戶或管理員使用者,請將名為
AWSCodePipelineFullAccess
的受管政策連接至使用者 (或使用者所屬的IAM群組)。不建議使用 AWS 根帳戶。此政策授予使用者在 中建立管道的許可 CodePipeline。如需詳細資訊,請參閱 使用者指南 中的連接受管政策。注意
將政策連接至使用者 (或使用者所屬的IAM群組) 的IAM實體必須具有 的許可IAM才能連接政策。如需詳細資訊,請參閱 使用者指南 中的委派管理IAM使用者、群組和憑證的許可。
-
如果您的 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,才能建立服務角色。
-
建立 CodePipeline 服務角色或識別現有 CodePipeline 服務角色之後,如果服務角色政策尚未成為角色政策的一部分,則必須將預設服務角色政策新增至服務角色,如 AWS CodePipeline 使用者指南 中的檢閱預設 CodePipeline 服務角色政策中所述。
注意
新增 CodePipeline 此服務角色政策的IAM實體必須具有 的許可IAM,才能將服務角色政策新增至服務角色。
-
建立原始程式碼並將其上傳至 CodeBuild 和 支援的儲存庫類型 CodePipeline,例如 CodeCommit、Amazon S3、Bitbucket 或 GitHub。來源碼應該包含 Buildspec 檔案,但您可以在本主題稍後定義組建專案時宣告一個。如需詳細資訊,請參閱 Buildspec 參考。
重要
若您計劃使用管道來部署建置的原始程式碼,則建置輸出成品必須與您使用的部署系統相容。
-
對於 AWS OpsWorks,請參閱 使用者指南 中的應用程式來源和 CodePipeline 搭配 使用 AWS OpsWorks 。 AWS OpsWorks
-