AWS CodeBuild 是完全托管的生成服务。您只需指定您的源代码位置以及选择生成设置,CodeBuild 就会通过运行生成脚本对您的代码进行编译、测试和打包。没有需要预置和扩展的服务器或需要安装、配置和操作的软件。

AWS CodeBuild 现已全面推出

免费试用 AWS CodeBuild

AWS 免费套餐包含每月 100 分钟使用 AWS CodeBuild 的 build.general1.small 生成时间。

查看 AWS 免费套餐详细信息 »

生成和测试

AWS CodeBuild 将在预配置的生成环境中运行您的生成程序,此类环境中包含完成任务所需的操作系统、编程语言运行时和生成工具 (例如 Apache Maven、Gradle、npm)。您只需指定您的源代码位置以及选择生成设置,比如要使用的生成环境以及要在生成过程中运行的生成命令。AWS CodeBuild 会生成代码,并将这些生成的对象存储到 Amazon S3 存储桶中,您也可以使用生成命令将其上传到对象存储库。您可以使用 AWS CodePipeline、AWS 管理控制台、AWS CLI 或 SDK 来创建、管理和启动生成项目。

预配置的生成环境

AWS CodeBuild 提供适用于 Java、Python、Node.js、Ruby、Go、Android 和 Docker 的生成环境。

有关预配置生成环境的完整列表,请查阅此处

自定义生成环境

您可以在自己的生成环境中使用 AWS CodeBuild。您可以将适用于您的生成程序的运行时和工具打包到 Docker 镜像中,并将其上传到公共 Docker Hub 存储库或 Amazon EC2 Container Registry (Amazon ECR)。创建新生成项目时,您可以指定 Docker 镜像的位置,然后 CodeBuild 会推送此镜像,并使用它作为生成项目配置。


可配置设置

指定生成命令
您可以定义想要 AWS CodeBuild 执行的具体命令,比如安装生成工具软件包、运行单元测试和打包代码等。生成规范是一个 YAML 文件,使您能够选择在生成和其他设置的每个阶段要运行的命令。CodeBuild 将使用适用于常见场景 (比如使用 Apache Maven、Gradle 或 npm 生成代码) 的生成规范示例文件帮助您快速入门。

有关生成规范示例文件,请查阅此处

选择计算类型
您可以选择最能满足您开发需求的计算类型。您可以根据 CPU 和内存量,从三种级别的计算容量中进行选择。这样一来,如果您想加快生成完成的速度,就可以选择较高的 CPU 和内存计算;如果您的生成操作只需最低级别的 CPU 和内存就能完成,您也可以进行相应的选择。

选择源集成
您可以通过多种方法来使用 AWS CodeBuild 启动生成程序。例如,您可以在连接到 AWS CodeCommit、GitHub 或 Amazon S3 之后,在 CodeBuild 中启动生成程序。您还可以使用 AWS CodePipeline 将 CodeBuild 与您的源存储库连接在一起,从而在您每次提交更改时自动启动生成程序。


持续集成和交付工作流

AWS CodeBuild 的按需计算和按需支付模型使您能够更加频繁地生成和集成代码,从而可帮助您提前发现开发流程中的错误并在其易于修复时并进行修复。您可以使用 CodeBuild 的源集成、生成命令或 Jenkins 集成功能,将其集成到现有的持续集成持续交付 (CI/CD) 工作流中。此外,CodeBuild 也属于 AWS Code 服务系列产品,可帮助您实践 CI/CD。您可以将 CodeBuild 插入到 AWS CodePipeline 中,从而在您每次向源存储库提交更改时,便可在 CodeBuild 中自动生成和测试代码。您可以通过以下方式创建此 CI 工作流:使用 AWS CodePipeline 向导连接您的源存储库,然后选择 CodeBuild 作为生成提供程序。

借助 CodePipeline,您可以通过集成第三方负载或用户界面测试工具 (如 BlazeMeter、Ghost Inspector),轻松地将您的持续集成工作流扩展到持续交付,这些工具将在 CodeBuild 完成代码生成操作后启动。然后,您可以使用与 AWS CodePipeline 集成的服务 (例如 AWS CodeDeployAWS Elastic Beanstalk) 将其部署到您的实例或本地服务器。

AWS CodePipeline 和 AWS CodeBuild
AWS CodePipeline 和 AWS CodeBuild

AWS CodePipeline 屏幕截图。此管道从 AWS CodeCommit 中提取源代码,在 AWS CodeBuild 中生成代码,并使用 AWS CodeDeploy 部署该代码。

结合使用 AWS CodeBuild 和 AWS CodePipeline
(单击可放大)


安全性和权限

您的生成对象将使用特定于客户的密钥进行加密,并由 AWS Key Management Service (KMS) 进行管理。AWS CodeBuild 与 AWS Identity and Access Management 集成,因此您可以对哪些用户以及哪些 AWS 资源可以访问您的生成对象进行精确控制。


监控

您可以使用 AWS 管理控制台、AWS CLI、SDK 和 API 来查看有关生成对象的详细信息。AWS CodeBuild 将向您显示生成操作的开始和结束时间、生成状态、提交 ID 和分支等信息。此外,CodeBuild 还会将生成日志流式传输到 Amazon CloudWatch Logs。

AWS CodeBuild
AWS CodeBuild

(单击可放大)