AWS CodeBuild
用户指南 (API 版本 2016-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

为 AWS CodeBuild 规划构建

在使用 CodeBuild 运行构建之前,您必须回答以下问题:

  1. 源代码位于什么位置?CodeBuild 目前支持通过以下源代码存储库提供商进行构建。源代码必须包含构建规范文件,或构建规范必须声明为构建项目定义的一部分。生成规范 是生成命令和相关设置的集合,采用 YAML 格式,由 CodeBuild 用来运行生成任务。

    存储库提供商 必填项 文档
    CodeCommit

    存储库名称。

    (可选) 与源代码关联的提交 ID。

    请参阅 CodeCommit 用户指南 中的以下主题:

    创建 CodeCommit 存储库

    在 CodeCommit 中创建提交

    Amazon S3

    输入存储桶名称。

    与包含源代码的构建输入 ZIP 文件对应的对象名称。

    (可选) 与构建输入 ZIP 文件相关联的版本 ID。

    请参阅 Amazon S3 入门指南 中的以下主题:

    创建存储桶

    向存储桶添加对象

    GitHub

    存储库名称。

    (可选) 与源代码关联的提交 ID。

    请参阅 GitHub 帮助网站上的以下主题:

    创建存储库

    Bitbucket

    存储库名称。

    (可选) 与源代码关联的提交 ID。

    请参阅 Bitbucket 云文档网站上的以下主题:

    创建存储库

  2. 您需要运行哪些构建命令以及按照什么顺序运行? 默认情况下,CodeBuild 会从您指定的提供商处下载构建输入,然后将构建输出上传到您指定的存储桶。您可以使用构建规范作为指导,将下载的构建输入转换为预期的构建输出。有关更多信息,请参阅生成规范参考

  3. 运行构建需要哪些运行时和工具? 例如,您是否是为 Java、Ruby、Python 或 Node.js 构建的? 构建是否需要 Maven 或 Ant?或者是否需要适用于 Java、Ruby 或 Python 的编译器? 构建是否需要 Git、AWS CLI 或其他工具?

    CodeBuild 在使用 Docker 映像的构建环境中运行构建。这些 Docker 映像必须存储在 CodeBuild 支持的存储库类型中。这些存储库包括 CodeBuild Docker 映像存储库、Docker Hub 和 Amazon Elastic Container Registry (Amazon ECR)。有关 CodeBuild Docker 映像存储库的更多信息,请参阅CodeBuild 提供的 Docker 镜像

    重要

    如果您使用 Ubuntu 标准映像 2.0 及更高版本或 Amazon Linux 2 (AL2) 标准映像 1.0 及更高版本,则必须在构建规格文件中指定 runtime-versions。有关更多信息,请参阅 在 Buildspec 文件中指定运行时版本

  4. 是否需要 CodeBuild 不会自动提供的 AWS 资源? 如果需要,这些资源又需要哪些安全策略呢? 例如,您可能需要修改 CodeBuild 服务角色来允许 CodeBuild 使用这些资源。

  5. 是否要将 CodeBuild 与您的 VPC 结合使用? 如果是,您需要您的 VPC 配置的 VPC ID、子网 ID 和安全组 ID。有关更多信息,请参阅将 CodeBuild 与 Amazon Virtual Private Cloud 结合使用

回答完这些问题后,您应该已经具备了成功运行构建所需的设置和资源。要运行构建,您可以:

  • 使用 CodeBuild 控制台、AWS CLI 或 AWS 开发工具包。有关更多信息,请参阅直接运行 AWS CodeBuild

  • 在 AWS CodePipeline 中创建或标识管道,然后添加构建或测试操作来指示 CodeBuild 自动测试代码、运行构建,或同时执行两者。有关更多信息,请参阅将 AWS CodePipeline 与 CodeBuild 结合使用