AWS CodeBuild 现已全面推出

免费试用 AWS CodeBuild

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

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

问:什么是 AWS CodeBuild?

AWS CodeBuild 是一项在云中完全托管的生成服务。CodeBuild 可编译源代码,运行单元测试,并生成可供部署的软件包。使用 CodeBuild,您无需配置、管理和扩展自己的生成服务器。CodeBuild 可持续缩放和并行处理多个生成任务,因此您的生成任务不必在队列中等待。您可以使用 CodeBuild 预先打包的生成环境快速开始,也可以使用自定义生成环境来使用自己的生成工具。使用 CodeBuild,您只需按分钟付费。

问:为什么应该使用 CodeBuild?

您不必自行安装、修补和维护生成服务器软件,可以享受 CodeBuild 的完全托管体验。您将生成任务提交给 CodeBuild,它为每个生成任务创建临时计算容器,在容器中运行生成任务,完成后丢弃容器。您无需管理生成服务器硬件或软件。CodeBuild 还会根据您的生成任务量自动进行扩展。它会立即处理您提交的每个生成任务,可以并发运行各个生成任务,也就是说,您的生成任务永远不会在队列中等待。

问:CodeBuild 如何定价?

有关详细信息,请参阅 AWS CodeBuild 定价页面

问:我可以用 CodeBuild 自动执行发布过程吗?

可以。CodeBuild 与 AWS CodePipeline 集成。您可以添加生成操作,设置在云中运行的持续集成和持续交付过程。您可以在此处了解如何从 CodePipeline 控制台设置和监控您的生成任务。


问:什么是生成项目?

生成项目用于定义 CodeBuild 运行生成任务的方式。它包括的信息有源代码获取位置、使用的生成环境、运行的生成命令和存储生成输出的位置等。生成环境是由操作系统、编程语言运行时和 CodeBuild 用于运行生成任务的工具组成的。

问:如何配置生成项目?

可以通过控制台或 AWS CLI 配置生成项目。您指定源存储库位置、运行时环境、生成命令、容器担任的 IAM 角色和运行生成任务所需的计算类。您也可以选择在 buildspec.yml 文件中指定生成命令。

问:CodeBuild 支持哪些源存储库?

CodeBuild 可以连接到 AWS CodeCommit、S3 和 GitHub 为生成任务推送源代码。

问:CodeBuild 支持哪些编程框架?

CodeBuild 为支持的 Java、Ruby、Python、Go、Node.js、Android 和 Docker 版本提供预配置环境。您也可以自定义自己的环境,方法是创建 Docker 映像并将其上传到 Amazon EC2 Container Registry 或 Docker Hub 注册表。然后您就可以在自己的生成项目中引用此自定义映像。

问:生成任务运行时会发生什么?

CodeBuild 为生成项目中定义的类创建一个临时计算容器,用指定的运行时环境加载它,下载源代码,执行项目中配置的命令,将生成的项目上传到 S3 存储桶后销毁该计算容器。在生成期间,CodeBuild 将生成输出流式传输到服务控制台和 Amazon CloudWatch Logs。

问:我该如何设置我的第一个生成任务?

登录 AWS 管理控制台,创建一个生成项目,然后运行生成任务。有关 CodeBuild 的介绍,请参阅入门了解分步教程。

问:我可以配合使用 CodeBuild 和 Jenkins 吗?

可以。可以使用 CodeBuild Plugin for Jenkins 将 CodeBuild 集成到 Jenkins 任务中。生成任务会发送到 CodeBuild,无需配置和管理 Jenkins 工作程序节点。

问:我该如何查看过去的生成结果?

您可以通过控制台或 API 获取过去的生成结果。生成结果包括结果 (成功或失败)、生成持续时间、输出项目位置和日志位置。

问:我该如何调试过去失败的生成任务?

您可以通过检查生成任务运行期间生成的详细日志来调试生成任务。


问:我可以加密 CodeBuild 存储的生成项目吗?

可以。您可以指定存储在 AWS Key Management Service (AWS KMS) 中的密钥,从而加密您的项目。

问:CodeBuild 如何隔离属于其他客户的生成任务?

CodeBuild 在与其他用户隔离的新环境中运行您的生成任务,并在完成后丢弃每个生成环境。CodeBuild 在基础设施和执行级别提供安全性和隔离。

问:我是否可以使用 AWS Identity and Access Management (IAM) 管理对 CodeBuild 的访问?

可以。您可以通过 IAM 策略中的资源级权限控制对生成项目的访问。


问:CodeBuild 支持哪些区域?

有关详细信息,请参阅区域性产品和服务