

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

# 运行批量构建 (AWS CLI)
<a name="run-batch-build-cli"></a>

1. 使用以下方法之一运行 `start-build-batch` 命令：

   ```
   aws codebuild start-build-batch --project-name <project-name>
   ```

   如果您要运行的构建项目使用的是最新版本的构建输入项目和构建项目现有设置，请使用此方法。

   ```
   aws codebuild start-build-batch --generate-cli-skeleton > <json-file>
   ```

   如果您要运行的构建具有早期版本的构建输入项目，或者如果您要覆盖构建输出项目、环境变量、构建规范或默认构建超时期限的设置，请使用此方法。

1. 如果您运行具有 `--project-name` 选项的 **start-build-batch** 命令，请将 *<project-name>* 替换为构建项目的名称，然后跳至此过程中的第 6 步。要获取构建项目的列表，请参阅[查看构建项目名称](view-project-list.md)。

1. 如果您运行带 `--idempotency-token` 选项的 **start-build-batch** 命令，则 `start-build-batch` 请求将附带唯一的区分大小写的标识符或令牌。令牌在发出请求后的 5 分钟内有效。如果您重复发出带相同令牌的 `start-build-batch` 请求，但更改了参数，则 CodeBuild 会返回“参数不匹配”错误。

1. 如果您运行具有 `--generate-cli-skeleton` 选项的 **start-build-batch** 命令，则会将采用 JSON 格式的数据输出到 *<json-file>* 文件。此文件与 **start-build** 命令生成的骨架类似，但增加了以下对象。有关常见对象的更多信息，请参阅[运行构建 (AWS CLI)](run-build-cli.md)。

   修改此文件以添加任何构建覆盖，并保存结果。

   ```
     "buildBatchConfigOverride": {
       "combineArtifacts": combineArtifacts,
       "restrictions": {
         "computeTypesAllowed": [
           allowedComputeTypes
         ],
         "maximumBuildsAllowed": maximumBuildsAllowed
       },
       "serviceRole": "batchServiceRole",
       "timeoutInMins": batchTimeout
     }
   ```

   `buildBatchConfigOverride` 对象采用 [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html) 结构，其中包含该构建的批量构建配置覆盖。  
*combineArtifacts*  
指定批量构建的构建构件是否应合并到单个构件位置的布尔值。  
*allowedComputeTypes*  
一组字符串，用于指定批量构建允许的计算类型。请参阅[构建环境计算类型](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)以了解这些值。  
*maximumBuildsAllowed*  
指定允许的最大构建数。  
*batchServiceRole*  
为批量构建项目指定服务角色 ARN。  
*batchTimeout*  
指定必须完成批量构建的最长时间（以分钟为单位）。

1. 切换到包含您刚才保存的文件的目录，然后再次运行 `start-build-batch` 命令。

   ```
   aws codebuild start-build-batch --cli-input-json file://start-build.json
   ```

1. 如果成功，[BuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BuildBatch.html) 对象的 JSON 表示形式将显示在控制台输出中。有关此数据的示例，请参阅 [StartBuildBatch 响应语法](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_ResponseSyntax)。