在 Amazon CodeBuild 中计划构建
在使用 Amazon CodeBuild 之前,您必须回答以下问题:
-
源代码存储在什么位置? CodeBuild 目前支持通过以下源代码存储库提供商进行构建。源代码必须包含构建规范 (buildspec) 文件。buildspec 是构建命令和相关设置的集合,采用 YAML 格式,由 CodeBuild 用来运行构建任务。您可以在构建项目定义中声明 buildspec。
存储库提供商 必需 文档 CodeCommit 存储库名称。
(可选)与源代码关联的提交 ID。
请参阅《Amazon CodeCommit 用户指南》中的以下主题:
Amazon S3 输入存储桶名称。
与包含源代码的构建输入 ZIP 文件对应的对象名称。
(可选)与构建输入 ZIP 文件相关联的版本 ID。
请参阅《Amazon S3 入门指南》中的以下主题:
GitHub 存储库名称。
(可选)与源代码关联的提交 ID。
请参阅 GitHub 帮助网站上的以下主题:
Bitbucket 存储库名称。
(可选)与源代码关联的提交 ID。
请参阅 Bitbucket 云文档网站上的以下主题:
-
您需要运行哪些构建命令以及按照什么顺序运行? 默认情况下,CodeBuild 会从您指定的提供商处下载构建输入,然后将构建输出上传到您指定的存储桶。您可以使用构建规范来指示如何将下载的构建输入转换为预期的构建输出。有关更多信息,请参阅 Buildspec 参考。
-
运行构建需要哪些运行时和工具? 例如,您是否是为 Java、Ruby、Python 或 Node.js 构建的? 构建是否需要 Maven 或 Ant?或者是否需要适用于 Java、Ruby 或 Python 的编译器? 构建是否需要 Git、Amazon CLI 或其他工具?
CodeBuild 在使用 Docker 映像的构建环境中运行构建。这些 Docker 映像必须存储在 CodeBuild 支持的存储库类型中。其中包括 CodeBuild Docker 映像存储库、Docker Hub 和 Amazon Elastic Container Registry (Amazon ECR)。有关 CodeBuild Docker 映像存储库的更多信息,请参阅 CodeBuild 提供的 Docker 映像。
-
是否需要 CodeBuild 不会自动提供的 Amazon 资源? 如果需要,这些资源又需要哪些安全策略呢? 例如,您可能需要修改 CodeBuild 服务角色来允许 CodeBuild 使用这些资源。
-
是否要将 CodeBuild 与您的 VPC 结合使用? 如果是,您需要您的 VPC 配置的 VPC ID、子网 ID 和安全组 ID。有关更多信息,请参阅 将 Amazon CodeBuild 与 Amazon Virtual Private Cloud 结合使用。
回答完这些问题后,您应该已经具备了成功运行构建所需的设置和资源。要运行构建,您可以:
-
使用 Amazon CodeBuild 控制台、Amazon CLI 或 Amazon 开发工具包。有关更多信息,请参阅 手动运行构建。
-
在 Amazon CodePipeline 中创建或标识管道,然后添加构建或测试操作来指示 CodeBuild 自动测试代码、运行构建,或同时执行两者。有关更多信息,请参阅 将 CodeBuild 与 CodePipeline 结合使用。