Amazon CodeBuild 常见问题
一般性问题
使用 CodeBuild
安全性
地区
详细了解 Amazon CodeBuild 定价
问:什么是 Amazon CodeBuild?
Amazon CodeBuild 是一种云中完全托管的持续集成服务。CodeBuild 可编译源代码、运行测试并生成可随时部署的软件包。CodeBuild 无需预置、管理和扩展自己的构建服务器。CodeBuild 可自动扩展和缩减并同时处理多个构建,因此您的构建不必在队列中等待。您可以通过使用 CodeBuild 预先打包的构建环境快速开始,也可以使用自定义构建环境来使用自己的构建工具。使用 CodeBuild 时,您只需按分钟付费。
问:为什么要使用 CodeBuild?
借助 CodeBuild 的完全托管体验,您无需自己设置、修补和维护构建服务器软件。您将构建作业提交至 CodeBuild,并在每次构建时新创建的临时计算容器中运行,构建完成后即可丢弃。您无需管理构建服务器硬件或软件。CodeBuild 还可自动扩展以满足您的构建量。它会立即处理您提交的每个构建,并且可以同时单独运行构建任务,这意味着您的构建请求无需在队列中等待。
问:CodeBuild 如何定价?
有关详细信息,请参阅 Amazon CodeBuild 定价页面。
问:什么是构建项目?
构建项目用于定义 CodeBuild 如何运行构建。包括获取源代码的位置、要使用的构建环境、要运行的构建命令以及存储构建输出的位置等信息。构建环境是操作系统、编程语言运行时和 CodeBuild 用于运行构建的工具的组合。
问:如何配置构建项目?
可以通过控制台或 Amazon 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
问:如何设置我的第一个构建?
登录 亚马逊云科技 管理控制台,创建构建项目,然后运行构建。您还可以使用 CodeBuild Local 在本地测试和调试构建。
问:能否将 CodeBuild 与 Jenkins 结合使用?
能。CodeBuild Plugin for Jenkins 可用于将 CodeBuild 集成到 Jenkins 作业中。构建作业将发送到 CodeBuild,无需预置和管理 Jenkins 工作节点。
问:如何调试过去的构建失败?
您可以通过检查构建运行期间生成的详细日志来调试构建,也可以使用 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 在基础设施和执行级别提供安全性和隔离。
问:是否可以使用 Amazon Identity and Access Management (IAM) 来管理 CodeBuild 的访问权限?
能。您可以通过 IAM 策略中的资源级权限来控制对构建项目的访问。
详细了解 Amazon CodeBuild 定价