

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

# 在 AWS CodeBuild 中计划构建
<a name="planning"></a>

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

1. **源代码存储在什么位置？** CodeBuild 目前支持通过以下源代码存储库提供商进行构建。源代码必须包含构建规范 (buildspec) 文件。*buildspec* 是构建命令和相关设置的集合，采用 YAML 格式，由 CodeBuild 用来运行构建任务。您可以在构建项目定义中声明 buildspec。

     
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/planning.html)

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

1. **运行构建需要哪些运行时和工具？** 例如，您是否是为 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 映像存储库的更多信息，请参阅 [提供的 Docker 镜像 CodeBuild](build-env-ref-available.md)。

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

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

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