一般性问题

问:什么是 AWS CodeBuild?

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

问:为什么要使用 CodeBuild?

借助 CodeBuild 的完全托管体验,您无需自己设置、修补和维护构建服务器软件。您将构建作业提交至 CodeBuild,并在每次构建时新创建的临时计算容器中运行,构建完成后即可丢弃。您无需管理构建服务器硬件或软件。CodeBuild 还可自动扩展以满足您的构建量。它会立即处理您提交的每个构建,并且可以同时单独运行构建任务,这意味着您的构建请求无需在队列中等待。

问:CodeBuild 如何定价?

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

使用 CodeBuild

问:什么是构建项目?

构建项目用于定义 CodeBuild 如何运行构建。包括获取源代码的位置、要使用的构建环境、要运行的构建命令以及存储构建输出的位置等信息。构建环境是操作系统、编程语言运行时和 CodeBuild 用于运行构建的工具的组合。

问:如何配置构建项目?

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

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

CodeBuild 可以连接到 Amazon S3、GitHub、GitHub Enterprise 和 Bitbucket 以获取构建的源代码。

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

CodeBuild 为受支持的 Java、Ruby、Python、Go、Node.js、Android、.NET Core、PHP 和 Docker 版本提供预配置的环境。您还可以通过创建 Docker 镜像并将其上传到 Amazon EC2 Container Registry 或 Docker Hub 注册表来自定义您自己的环境。然后,您可以在构建项目中引用该自定义镜像。

问:CodeBuild 提供哪些预配置的 Windows 构建运行时?

CodeBuild 为 .NET Core 2.0 提供预配置的 Windows 构建环境。我们希望为 Microsoft .NET Framework 客户提供预配置的构建环境,其中许多客户已经拥有使用 Microsoft 专有库的许可。但是,Microsoft 目前不愿意与我们合作来解决这些客户请求。您可以通过创建 Docker 镜像并将其上传到 Amazon EC2 Container Registry 或 Docker Hub 注册表来自定义您的环境,以便支持其他构建目标,如 .NET Framework。然后,您可以在构建项目中引用该自定义镜像。

问:运行构建时会发生什么?

CodeBuild 将创建构建项目中所定义类的临时计算容器,使用指定的运行时环境进行加载,下载源代码,执行项目中配置的命令,将生成的工件上传到 Amazon S3 存储桶,然后销毁计算容器。在构建期间,CodeBuild 会将构建输出流式传输到服务控制台以及 Amazon CloudWatch

问:如何设置我的第一个构建?

登录 AWS 管理控制台,创建构建项目,然后运行构建。您还可以使用 CodeBuild Local 在本地测试和调试构建。

问:能否将 CodeBuild 与 Jenkins 结合使用?

能。CodeBuild Plugin for Jenkins 可用于将 CodeBuild 集成到 Jenkins 作业中。构建作业将发送到 CodeBuild,无需预置和管理 Jenkins 工作节点。

问:如何查看过去的构建结果?

您可以通过控制台、CloudWatch 或 API 访问过去的构建结果。构建结果包括结果(成功或失败)、构建持续时间、输出工件位置和日志位置。使用 CodeBuild 控制面板,您可以查看指标以了解一段时间内的构建行为。控制面板显示尝试、成功和失败的构建数量以及构建持续时间。您还可以访问 CloudWatch 控制台查看更详细的构建指标。要了解有关使用 CloudWatch 监控 CodeBuild 的更多信息,请访问我们的文档

问:如何调试过去的构建失败?

您可以通过检查构建运行期间生成的详细日志来调试构建,也可以使用 CodeBuild Local 在本地测试和调试构建。

问:为什么 .NET Core for Windows 构建环境不支持 build.general1.small?

由于 Windows Docker 基本容器和其他库的大小,.NET Core for Windows 构建环境需要的内存和处理能力比 build.general1.small 计算实例类型所提供的要多。由于此限制,.NET Core for Windows 构建环境没有免费套餐。

安全性

问:CodeBuild 如何隔离属于其他客户的构建?

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

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

能。您可以通过 IAM 策略中的资源级权限来控制对构建项目的访问。

地区

问:CodeBuild 支持哪些地区?

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

详细了解 AWS CodeBuild 定价

访问定价页面
准备好开始构建了吗?
AWS CodeBuild 入门
还有更多问题?
联系我们