

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 计划构建 Amazon CodeBuild
<a name="planning"></a>

在使用之前 Amazon CodeBuild，必须回答以下问题：

1. **源代码存储在哪里？** CodeBuild 目前支持通过以下源代码存储库提供程序进行构建。源代码必须包含构建规范 (buildspec) 文件。*buildspec* 是一组生成命令和相关设置，采 CodeBuild 用 YAML 格式，用于运行构建。您可以在构建项目定义中声明 buildspec。

   



<table>
<thead>
  <tr><th>存储库提供商</th><th>必需</th><th>文档</th></tr>
</thead>
<tbody>
  <tr><td>CodeCommit</td><td>存储库名称。<br />（可选）与源代码关联的提交 ID。</td><td>请参阅《Amazon CodeCommit 用户指南》中的以下主题：<br /><a href="https://docs.amazonaws.cn/codecommit/latest/userguide/how-to-create-repository.html">创建存储 CodeCommit 库</a><br /><a href="https://docs.amazonaws.cn/codecommit/latest/userguide/how-to-create-commit.html">在中创建提交 CodeCommit</a></td></tr>
  <tr><td>Amazon S3 </td><td>输入存储桶名称。<br />与包含源代码的构建输入 ZIP 文件对应的对象名称。<br />（可选）与构建输入 ZIP 文件相关联的版本 ID。</td><td>请参阅《Amazon S3 入门指南》中的以下主题：<br /><a href="https://docs.amazonaws.cn/AmazonS3/latest/userguide/CreatingABucket.html">创建存储桶</a><br /><a href="https://docs.amazonaws.cn/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html">向存储桶添加对象</a></td></tr>
  <tr><td>GitHub</td><td>存储库名称。<br />（可选）与源代码关联的提交 ID。</td><td>在 GitHub 帮助网站上查看此主题：<br /><a href="https://help.github.com/articles/create-a-repo/">创建存储库</a></td></tr>
  <tr><td>Bitbucket</td><td>存储库名称。<br />（可选）与源代码关联的提交 ID。</td><td>请参阅 Bitbucket 云文档网站上的以下主题：<br /><a href="https://confluence.atlassian.com/bitbucket/create-and-clone-a-repository-800695642.html">创建存储库</a></td></tr>
</tbody>
</table>


1. **您需要运行哪些构建命令以及按照什么顺序运行？** 默认情况下，从您指定的提供商那里 CodeBuild 下载构建输入，并将构建输出上传到您指定的存储桶。您可以使用构建规范来指示如何将下载的构建输入转换为预期的构建输出。有关更多信息，请参阅[Buildspec 参考](build-spec-ref.md)。

1. **运行构建需要哪些运行时和工具？** 例如，你是在为 Java、Ruby、Python 构建还是 Node.js？ 构建是否需要 Maven 或 Ant？或者是否需要适用于 Java、Ruby 或 Python 的编译器？ 构建是否需要 Git Amazon CLI、或其他工具？ 

   CodeBuild 在使用 Docker 镜像的构建环境中运行构建。这些 Docker 映像必须存储在 CodeBuild 支持的存储库类型中。其中包括 CodeBuild Docker 镜像存储库、Docker Hub 和亚马逊弹性容器注册表 (Amazon ECR) Container Registry。有关 CodeBuild Docker 镜像存储库的更多信息，请参阅[Docker 镜像由 CodeBuild](build-env-ref-available.md)。

1. **您是否需要不是由自动提供的 Amazon 资源 CodeBuild？ 如果需要，这些资源又需要哪些安全策略呢？** 例如，您可能需要修改 CodeBuild 服务角色 CodeBuild 以允许使用这些资源。

1. **您 CodeBuild 想使用您的 VPC 吗？** 如果是，您需要您的 VPC 配置的 VPC ID、子网 ID 和安全组 ID。有关更多信息，请参阅 [Amazon CodeBuild 与亚马逊 Virtual Private Cloud 配合使用](vpc-support.md)。

回答完这些问题后，您应该已经具备了成功运行构建所需的设置和资源。要运行构建，您可以：
+ 使用 Amazon CodeBuild 控制台 Amazon CLI、或 Amazon SDK。有关更多信息，请参阅 [手动运行构建](run-build.md)。
+ 在中创建或标识管道 Amazon CodePipeline，然后添加生成或测试操作，指示 CodeBuild 自动测试您的代码、运行您的构建，或者两者兼而有之。有关更多信息，请参阅 [ CodeBuild 搭配使用 CodePipeline](how-to-create-pipeline.md)。