本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Amazon CodePipeline 与 Amazon CodeBuild 结合使用以测试代码和运行构建
通过使用 Amazon CodePipeline 测试您的代码并借助 Amazon CodeBuild 运行构建,您可以自动执行发布流程。
下表列出了可用于执行这些操作的任务和方法。本主题不介绍如何使用 Amazon 开发工具包完成这些任务。
任务 | 可用方法 | 本主题中介绍的方法 |
---|---|---|
使用以下方法创建持续交付 (CD) 流水线, CodePipeline 该流水线可自动构建 CodeBuild |
|
|
在中的现有管道中添加测试和构建自动化 CodeBuild CodePipeline |
|
|
先决条件
-
回答 计划构建 中的问题。
-
如果您使用用户 CodePipeline 而不是Amazon根账户或管理员用户进行访问,请将名为
AWSCodePipelineFullAccess
该用户(或该用户所属的 IAM 组)的托管策略附加到该用户。建议不使用 Amazon 根账户。此策略向用户授予在 CodePipeline 中创建管道的权限。有关更多信息,请参阅用户指南中的附加托管策略。注意
将策略附加到用户(或该用户所属的 IAM 组)的 IAM 实体必须在 IAM 中具有附加策略的权限。有关更多信息,请参阅用户指南中的 “委派管理 IAM 用户、群组和证书的权限”。
-
如果您的Amazon账户中还没有可用的 CodePipeline 服务角色,请创建一个服务角色。 CodePipeline 使用此服务角色与其他Amazon服务进行交互Amazon CodeBuild,包括代表您进行交互。例如,要使用创建 CodePipeline 服务角色,请运行 IAM
create-role
命令:Amazon CLI对于 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 服务角色策略还不是该角色策略的一部分,则必须按照《Amazon CodePipeline用户指南》中的 “查看默认 CodePipeline 服务角色策略” 中所述将默认服务角色策略添加到该服务角色。
注意
添加此 CodePipeline 服务角色策略的 IAM 实体必须在 IAM 中具有向服务角色添加服务角色策略的权限。
-
创建源代码并将其上传到 CodeBuild 和支持的存储库类型 CodePipeline,例如 Amazon S3 CodeCommit、Bitbucket 或 GitHub。源代码应包含构建规范文件,不过您也可在本主题稍后部分定义构建项目时,声明一个构建规范文件。有关更多信息,请参阅 构建规范参考。
重要
如果您计划使用管道来部署已生成的源代码,则构建输出构件必须与您使用的部署系统兼容。
-
有关信息 CodeDeploy,请参阅本指南Amazon CodeDeploy 示例中的和《Amazon CodeDeploy用户指南》 CodeDeploy中的 “准备修订版”。
-
有关信息Amazon Elastic Beanstalk,请参阅本指南Amazon Elastic Beanstalk 示例中的和Amazon Elastic Beanstalk开发人员指南中的创建应用程序源包。
-
有关信息Amazon OpsWorks,请参阅《Amazon OpsWorks用户指南》Amazon OpsWorks中的 “应用程序源代码” 和 “使用 CodePipeline ”。
-