AWS CodeBuild 是一项在云中完全托管的持续集成服务。CodeBuild 可编译源代码、运行测试,并生成可供部署的软件包。使用 CodeBuild,您无需预置、管理和扩展自己的构建服务器。CodeBuild 可自动扩展和缩减以及并发处理多项构建任务,因此您的构建任务不必在队列中等待。您可以使用 CodeBuild 预先打包的构建环境快速开始,也可以使用自定义构建环境来使用自己的构建工具。使用 CodeBuild,您只需按分钟付费。
您不必自行安装、修补和维护构建服务器软件,可以享受 CodeBuild 的完全托管体验。您将构建任务提交给 CodeBuild 后,它会为每个构建任务创建临时计算容器,在容器中运行构建任务,完成后丢弃容器。您无需管理构建服务器硬件或软件。CodeBuild 还会根据您的构建任务量自动进行扩展。它会立即处理您提交的每个生成任务,可以并发运行各个生成任务,也就是说,您的生成任务永远不会在队列中等待。
有关详细信息,请参阅 AWS CodeBuild 定价页面。
符合。CodeBuild 与 AWS CodePipeline 集成。您可以添加构建操作,设置在云中运行的持续集成和持续交付过程。您可以在此处了解如何从 CodePipeline 控制台设置和监控您的构建任务。
构建项目用于定义 CodeBuild 运行构建任务的方式。它包括的信息有源代码获取位置、使用的构建环境、运行的构建命令和存储构建输出的位置等。生成环境是由操作系统、编程语言运行时和 CodeBuild 用于运行生成任务的工具组成的。
可以通过控制台或 AWS CLI 配置构建项目。您指定源存储库位置、运行时环境、构建命令、容器担任的 IAM 角色和运行构建任务所需的计算类。您也可以选择在 buildspec.yml 文件中指定生成命令。
CodeBuild 可以连接到 AWS CodeCommit、S3、GitHub 和 GitHub Enterprise 为构建任务拉取源代码。
CodeBuild 为支持的 Java、Ruby、Python、Go、Node.js、Android、.NET Core、PHP 和 Docker 版本提供预配置环境。您也可以自定义自己的环境,方法是创建 Docker 镜像并将其上传到 Amazon EC2 Container Registry 或 Docker Hub 注册表。然后您就可以在自己的构建项目中引用此自定义镜像。
CodeBuild 为 .NET Core 2.0 提供预配置的 Windows 构建环境。我们也希望为 Microsoft .NET Framework 客户(许多客户已拥有使用 Microsoft 专有库的许可证)提供预配置的构建环境,但 Microsoft 目前并不愿意与我们合作满足这些客户的要求。通过创建 Docker 镜像并将其上传到 Amazon EC2 Container Registry 或 Docker Hub 注册表,您可以自定义您的环境,以支持 .NET Framework 等其他构建目标。然后您就可以在自己的构建项目中引用此自定义镜像。
CodeBuild 为构建项目中定义的类创建一个临时计算容器,用指定的运行时环境加载它,下载源代码,执行项目中配置的命令,将生成的项目上传到 S3 存储桶后销毁该计算容器。在构建期间,CodeBuild 会将构建输出流式传输到服务控制台和 Amazon CloudWatch。
登录 AWS 管理控制台,创建一个构建项目,然后运行构建任务。有关 CodeBuild 的介绍,请参阅入门了解分步教程。您也可以使用 CodeBuild Local 在本地测试和调试您的构建。
符合。可以使用 CodeBuild Plugin for Jenkins 将 CodeBuild 集成到 Jenkins 任务中。生成任务会发送到 CodeBuild,无需配置和管理 Jenkins 工作程序节点。
您可以通过控制台、CloudWatch 或 API 获取过去的构建任务结果。生成结果包括结果 (成功或失败)、生成持续时间、输出项目位置和日志位置。借助 CodeBuild 控制面板,您可以查看各项指标来了解一段时间内的构建行为。该控制面板会显示已尝试执行、成功和失败的构建任务数量以及构建任务持续时间。您还可以访问 CloudWatch 控制台查看更详细的生成任务指标。要了解有关使用 CloudWatch 监控 CodeBuild 的更多信息,请访问我们的文档。
您可以通过检查构建任务运行期间生成的详细日志来调试构建任务,也可以使用 CodeBuild Local 在本地测试和调试构建任务。
由于 Windows Docker 基本容器和其他库的大小,适用于 Windows 的 .NET Core 构建环境所需的内存和处理能力超出了 build.general1.small 计算实例类型的承受范围。基于这一限制,适用于 Windows 的 .NET Core 构建环境没有免费套餐。
您可以针对影响您部署的事件创建通知。通知将以 Amazon SNS 通知的形式出现。每个通知将包括状态消息以及指向其事件生成该通知的资源的链接。 通知没有额外成本;但您可能需要为通知使用的其他 AWS 服务付费,例如 Amazon SNS。要了解如何开始使用通知,请参阅通知用户指南。此外,使用 AWS Chatbot 的客户可以将通知配置为发送到其 Slack 通道或 Amazon Chime 聊天室。有关更多详情,请单击此处。
符合。您可以指定存储在 AWS Key Management Service (AWS KMS) 中的密钥,从而加密您的项目。
CodeBuild 在与其他用户隔离的新环境中运行您的构建任务,并在完成后丢弃每个构建环境。CodeBuild 在基础设施和执行级别提供安全性和隔离。
符合。您可以通过 IAM 策略中的资源级权限控制对生成项目的访问。
有关详细信息,请参阅区域性产品和服务。