

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CodeBuild ビルドを手動で実行する
<a name="run-build"></a>

 AWS CodeBuild コンソール、 AWS CLI、または AWS SDKs を使用して CodeBuild でビルドを実行できます。

**Topics**
+ [AWS CodeBuild エージェントを使用してビルドをローカルで実行する](use-codebuild-agent.md)
+ [ビルドの実行 (コンソール)](run-build-console.md)
+ [ビルドの実行 (AWS CLI)](run-build-cli.md)
+ [バッチビルドの実行 (AWS CLI)](run-batch-build-cli.md)
+ [ビルドの実行の自動開始 (AWS CLI)](run-build-cli-auto-start.md)
+ [ビルドの実行の自動停止 (AWS CLI)](run-build-cli-auto-stop.md)
+ [ビルドを実行する (AWS SDKs)](run-build-sdks.md)

# AWS CodeBuild エージェントを使用してビルドをローカルで実行する
<a name="use-codebuild-agent"></a>

 AWS CodeBuild エージェントを使用して、ローカルマシンで CodeBuild ビルドを実行できます。x86\$164 および ARM プラットフォームで使用できるエージェントがあります。

通知にサブスクライブして、 エージェントの新しいバージョンがリリースされたときに通知を受信できます。

## 前提条件
<a name="use-codebuild-agent.prerequisites"></a>

開始する前に、以下を実行する必要があります。
+ ローカルマシンで Git をインストールします。
+ ローカルマシンで、[Docker](https://www.docker.com/) をインストールしてセットアップします。

## ビルドイメージの設定方法
<a name="use-codebuild-agent.setup-image"></a>

ビルドイメージを設定する必要があるのは、エージェントを初めて実行するとき、またはイメージが変更されたときだけです。

**ビルドイメージの設定方法**

1. 厳選された Amazon Linux 2 イメージを使用する場合は、次のコマンドを使用して、[https://gallery.ecr.aws/codebuild/amazonlinux-x86\$164-standard](https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard) の CodeBuild パブリック Amazon ECR リポジトリからイメージをプルできます。

   ```
   $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0
   ```

   その代わりに別の Linux イメージを使用する場合は、以下のステップを実行してください。

   1. CodeBuild イメージレポジトリをクローンします。

      ```
      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
      ```

   1. イメージディレクトリを変更します。この例では、`aws/codebuild/standard:5.0` イメージを使用します。

      ```
      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
      ```

   1. イメージを構築します。これには数分間かかります。

      ```
      $ docker build -t aws/codebuild/standard:5.0 .
      ```

1. CodeBuild エージェントをダウンロードします。

   エージェントの x86\$164 バージョンをダウンロードするには、次のコマンドを実行します。

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:latest
   ```

   次のコマンドを使用して、ARM バージョンのエージェントをダウンロードしてインストールします。

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
   ```

1. <a name="codebuild-agent-sha"></a>CodeBuild エージェントは、[https://gallery.ecr.aws/codebuild/local-builds](https://gallery.ecr.aws/codebuild/local-builds) から入手できます。

   エージェントの x86\$164 バージョンのセキュアハッシュアルゴリズム (SHA) 署名は次のとおりです。

   ```
   sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
   ```

   エージェントの ARM バージョンの SHA 署名は次のとおりです。

   ```
   sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
   ```

   SHA を使用してエージェントのバージョンを識別できます。エージェントの SHA 署名を表示するには、次のコマンドを実行して、`RepoDigests` の下で SHA を探します。

   ```
   $ docker inspect public.ecr.aws/codebuild/local-builds:latest
   ```

## CodeBuild エージェントを実行する
<a name="use-codebuild-agent.run-agent"></a>

**CodeBuild エージェントを実行するには**

1. ビルドプロジェクトソースを含むディレクトリに移動します。

1. [codebuild.sh](https://github.com/aws/aws-codebuild-docker-images/blob/master/local_builds/codebuild_build.sh) スクリプトをダウンロードします。

   ```
   $ curl -O  https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
   $ chmod +x codebuild_build.sh
   ```

1. `codebuild_build.sh` スクリプトを実行し、コンテナイメージおよび出力ディレクトリを指定します。

   x86\$164 ビルドを実行するには、次のコマンドを実行します。

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory>
   ```

   ARM ビルドを開始するには、次のコマンドを実行します。

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64
   ```

   *<container-image>* は、コンテナイメージの名前 (`aws/codebuild/standard:5.0` または `public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0` など) に置き換えてください。

   スクリプトはビルドイメージを起動し、現在のディレクトリにあるプロジェクトを使用してビルドを実行します。ビルドプロジェクトの場所を指定するには、`-s <build project directory>` オプションをスクリプトコマンドに追加します。

## CodeBuild エージェントの新しいバージョンに関する通知の受信
<a name="receive-codebuild-agent-notifications"></a>

Amazon SNS 通知をサブスクライブして、 AWS CodeBuild エージェントの新しいバージョンがリリースされたときに通知を受け取ることができます。

**CodeBuild エージェントの通知にサブスクライブするには**

1. Amazon SNS コンソールの[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)を開いてください。

1. ナビゲーションバーで、まだ選択されていない場合は、 AWS リージョンを**米国東部 (バージニア北部)** に変更します。サブスクライブしている Amazon SNS 通知がこの AWS リージョンで作成されるため、このリージョンを選択する必要があります。

1. ナビゲーションペインで [**Subscriptions**] を選択してください。

1. [**Create subscription**] を選択してください。

1. **[Create subscription]** (サブスクリプションの作成) で、次の操作を行います。

   1. **[Topic ARN]** (トピック ARN) で、以下の Amazon リソースネーム (ARN) を使用します。

      ```
      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
      ```

   1. [**プロトコル**] で、[**E メール**] または [**SMS**] を選択します。

   1. [**エンドポイント**] で、通知を受信する場所 (E メールまたは SMS) を選択します。E メール、住所、または電話番号 (市外局番を含む) を入力します。

   1. [**Create subscription**] (サブスクリプションの作成) を選択します。

   1. **[Email]** (E メール) を選択した場合は、サブスクリプションの確認を求める E メールが届きます。E メールの指示に従ってサブスクリプションを完了します。

      通知が不要になった場合は、次の手順で受信登録を解除します。

**CodeBuild エージェントの通知のサブスクリプションを解除するには**

1. Amazon SNS コンソールの[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)を開いてください。

1. ナビゲーションペインで [**Subscriptions**] (サブスクリプション) を選択します。

1. サブスクリプションを選択し、**[Actions]** (アクション) から **[Delete subscriptions]** (サブスクリプションの削除) を選択します。確認を求められたら [**Delete**] (削除) を選択します。

# ビルドの実行 (コンソール)
<a name="run-build-console"></a>

CodeBuild で AWS CodePipeline を使用してビルドを実行するには、この手順をスキップして「[CodePipeline で CodeBuild を使用](how-to-create-pipeline.md)」の手順に従います。

1. AWS CodeBuild コンソール ([https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home)) を開きます。

1. ナビゲーションペインで、[**Build projects**] を選択します。

1. ビルドプロジェクトのリストで、ビルドプロジェクトを選択します。

1. デフォルトのビルドプロジェクト設定でビルドを実行することも、このビルドのみのビルド設定を上書きすることもできます。

   1. デフォルトのビルドプロジェクト設定を使用してビルドを実行するには、**[ビルドの開始]** を選択します。ビルドがすぐに開始されます。

   1. デフォルトのビルドプロジェクト設定を上書きする場合は、**[上書きでビルドを開始]** を選択します。**[ビルドを開始]** ページで、以下を上書きできます。
      + **[ビルド設定]**
      + **ソース**:
      + **[環境変数の上書き]**

      より高度な上書きを選択する必要がある場合は、**[高度なビルドの上書き]** を選択します。このページでは、以下の操作を上書きできます。
      + **[ビルド設定]**
      + **ソース**:
      + **環境**:
      + **BuildSpec**
      + **アーティファクト**
      + **ログ**:

      上書きを選択したら、**[ビルドを開始]** を選択します。

このビルドの詳細については、「[ビルドの詳細の表示 (コンソール)](view-build-details.md#view-build-details-console)」を参照してください。

# ビルドの実行 (AWS CLI)
<a name="run-build-cli"></a>

**注記**  
CodePipeline で AWS CodeBuild を使用してビルドを実行するには、この手順をスキップして「[CodeBuild を使用するパイプラインの作成 (AWS CLI)](how-to-create-pipeline-cli.md)」の手順に従います。  
CodeBuild で AWS CLI を使用する方法については、「[コマンドラインリファレンス](cmd-ref.md)」を参照してください。

1. 次のいずれかの方法で `start-build` コマンドを実行します。

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

   ビルド入力アーティファクトの最新バージョンとビルドプロジェクトの既存の設定を使用するビルドを実行する場合は、これを使用します。

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   以前のバージョンのビルド入力アーティファクトを使用してビルドを実行する場合、またはビルド出力アーティファクト、環境変数、ビルド仕様、またはデフォルトのビルドタイムアウト期間の設定をオーバーライドする場合は、これを使用します。

1. `--project-name` オプションを指定して **start-build** コマンドを実行する場合は、*<project-name>* をビルドプロジェクトの名前に置き換えて、この手順のステップ 6 に進みます。ビルドプロジェクトのリストを表示するには、「[ビルドプロジェクト名を表示](view-project-list.md)」を参照してください。

1. `--idempotency-token` オプションを指定して **start-build** コマンドを実行すると、大文字と小文字を区別する一意の識別子 (トークン) が `start-build` リクエストに含まれます。このトークンは、 リクエスト後 5 分間有効です。同じトークンで `start-build` リクエストを繰り返し行い、パラメータを変更すると、CodeBuild はパラメータの不一致エラーを返します。

1. **start-build** オプションを指定して `--generate-cli-skeleton` コマンドを実行すると、出力に JSON 形式のデータが表示されます。`start-build.json` がインストールされているローカルコンピュータまたはインスタンス上の場所にあるファイル (例: AWS CLI) にデータをコピーします。コピーしたデータを次の形式に変更して、結果を保存します。

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   次のプレースホルダーを置き換えます。
   + *projectName*: 必須の文字列。このビルドに使用するビルドプロジェクトの名前。
   + *sourceVersion*: オプションの文字列。作成するソースコードのバージョンで、次のようになります。
     + Amazon S3 の場合、ビルドする入力 ZIP ファイルのバージョンに対応するバージョン ID。*sourceVersion* が指定されなければ、最新のバージョンが使用されます。
     + CodeCommit の場合、ビルドするソースコードのバージョンに対応するコミット ID。*sourceVersion* が指定されなければ、デフォルトブランチの HEAD コミット ID が使用されます。(*sourceVersion* にタグ名は指定できません。しかし、タグのコミット ID は指定できます。)
     + GitHub の場合、ビルドするソースコードのバージョンに対応するコミット ID、プルリクエスト ID、ブランチ名、またはタグ名。プルリクエスト ID を指定する場合、`pr/pull-request-ID` (例: `pr/25`) 形式を使用する必要があります。ブランチ名を指定すると、ブランチの HEAD コミット ID が使用されます。*sourceVersion* が指定されなければ、デフォルトブランチの HEAD コミット ID が使用されます。
     + Bitbucket の場合、ビルドするソースコードのバージョンに対応するコミット ID、ブランチ名、またはタグ名。ブランチ名を指定すると、ブランチの HEAD コミット ID が使用されます。*sourceVersion* が指定されなければ、デフォルトブランチの HEAD コミット ID が使用されます。
   + 次に示すプレースホルダーは、`artifactsOverride` が対象です。
     + *type*: オプション。このビルドでオーバーライドするビルド出力アーティファクトタイプは、ビルドプロジェクトで定義されたものです。
     + *location*: オプション。このビルドでオーバーライドするビルド出力アーティファクトの場所は、ビルドプロジェクトで定義されたものです。
     + *path*: オプション。このビルドでオーバーライドするビルド出力アーティファクトパスは、ビルドプロジェクトで定義されたものです。
     + *namespaceType*: オプション。このビルドでオーバーライドするビルド出力アーティファクトパスのタイプは、ビルドプロジェクトで定義されたものです。
     + *name*: オプション。このビルドでオーバーライドするビルド出力アーティファクト名は、ビルドプロジェクトで定義されたものです。
     + *packaging*: オプション。このビルドでオーバーライドするビルド出力アーティファクトパッケージタイプは、ビルドプロジェクトで定義されたものです。
   + *buildspecOverride*: オプション。ビルドプロジェクトに定義されている buildspec 宣言を上書きする、このビルドの buildspec 宣言。この値が設定されている場合は、インラインのビルド仕様定義か、組み込みの環境変数 `CODEBUILD_SRC_DIR` の値に相対的な代替 buildspec ファイルへのパスか、S3 バケットへのパスになります。S3 バケットは、ビルドプロジェクトと同じ AWS リージョンに存在する必要があります。ARN を使用して buildspec ファイルを指定します（例: `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`）。この値が指定されていない場合や、空の文字列に設定されている場合、ソースコードのルートディレクトリに `buildspec.yml` ファイルが含まれている必要があります。詳細については、「[buildspec ファイル名とストレージの場所](build-spec-ref.md#build-spec-ref-name-storage)」を参照してください。
   + 次に示すプレースホルダーは、`cacheOverride` が対象です。
     + *cacheOverride-location*: オプション。ビルドプロジェクトで指定された `ProjectCache` オブジェクトを上書きする、このビルドの `ProjectCache` オブジェクトの場所。`cacheOverride` はオプションで、`ProjectCache` オブジェクトを受け取ります。`location` は `ProjectCache` オブジェクトで必要です。
     + *cacheOverride-type*: オプション。ビルドプロジェクトで指定された `ProjectCache` オブジェクトを上書きする、このビルドの `ProjectCache` オブジェクトのタイプ。`cacheOverride` はオプションで、`ProjectCache` オブジェクトを受け取ります。`type` は `ProjectCache` オブジェクトで必要です。
   + *certificateOverride*: オプション。ビルドプロジェクトで指定された証明書を上書きする、このビルドの証明書の名前。
   + *environmentTypeOverride*: オプション。ビルドプロジェクトで指定されたコンテナタイプを上書きする、このビルドのコンテナタイプ。現在の有効な文字列は `LINUX_CONTAINER` です。
   + 次に示すプレースホルダーは、`environmentVariablesOverride` が対象です。
     + *environmentVariablesOverride-name*: オプション。このビルドで値を上書きするビルドプロジェクトの環境変数の名前。
     + *environmentVariablesOverride-type*: オプション。このビルドで値を上書きするビルドプロジェクトの環境変数のタイプ。
     + *environmentVariablesValue*: オプション。このビルドで値を上書きするビルドプロジェクトで定義された環境変数の値。
   + *gitCloneDepthOverride*: オプション。このビルドで上書きする、ビルドプロジェクトの [**Git のクローンの深さ**] の値。ソースタイプが Amazon S3 である場合、この値はサポートされません。
   + *imageOverride*: オプション。ビルドプロジェクトで指定されたイメージを上書きする、このイメージの名前。
   + *idempotencyToken*: オプション。ビルドリクエストがべき等であることを指定する、トークンとして機能する文字列。64 文字以下の任意の文字列を選択できます。このトークンは、ビルド開始リクエスト後 5 分間有効です。同じトークンでビルド開始リクエストを繰り返し行い、パラメータを変更すると、CodeBuild はパラメータの不一致エラーを返します。
   + *insecureSslOverride*: ビルドプロジェクトに指定されている安全でない TLS 設定を上書きするかどうかを指定するブール値 (オプション)。安全でない TLS 設定により、プロジェクトのソースコードに接続するときに TLS 警告を無視するかどうかが決まります。この上書きが適用されるのは、ビルドのソースが GitHub Enterprise Server である場合のみです。
   + *privilegedModeOverride*: オプションのブール値。true に設定すると、ビルドは、ビルドプロジェクトで権限モードを上書きします。
   +  *queuedTimeoutInMinutesOverride*: ビルドをキューに入れてからタイムアウトするまでの時間 (分) を指定するオプションの整数。その最小値は 5 分、最大値は 480 分 (8 時間) です。
   + *reportBuildStatusOverride*: ビルドの開始と完了のステータスをソースプロバイダに送信するかどうかを指定するオプションのブール値。これを GitHub、GitHub Enterprise Server、Bitbucket 以外のソースプロバイダーに対して設定すると、invalidInputException がスローされます。
   + *sourceAuthOverride*: オプションの文字列。ビルドプロジェクトで定義された認可タイプを上書きする、このビルドの認可タイプ。この上書きが適用されるのは、ビルドプロジェクトのソースが Bitbucket または GitHub である場合のみです。
   + *sourceLocationOverride*: オプションの文字列。このビルドで、ビルドプロジェクトで定義されたソースの場所を上書きする場所。
   + *serviceRoleOverride*: オプションの文字列。ビルドプロジェクトで指定されたサービスロールを上書きする、このビルドのサービスロールの名前。
   + *sourceTypeOverride*: オプションの文字列。このビルドで、ビルドプロジェクトで定義されたソース入力を上書きするソース入力タイプ。有効な文字列は、`NO_SOURCE`、`CODECOMMIT`、`CODEPIPELINE`、`GITHUB`、`S3`、`BITBUCKET`、および `GITHUB_ENTERPRISE` です。
   + *timeoutInMinutesOverride*: オプション番号。このビルドで上書きするビルドタイムアウトの分数は、ビルドプロジェクトで定義されたものです。

   AWS アクセスキー ID、AWS シークレットアクセスキー、パスワードなどの機密値を持つ環境変数は、パラメータとして Amazon EC2 Systems Manager Parameter Store に保存することをお勧めします。CodeBuild では、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータは、そのパラメータの名前が `/CodeBuild/` (例: `/CodeBuild/dockerLoginPassword`) で始まる場合にのみ使用できます。CodeBuild コンソールを使用して、Amazon EC2 Systems Manager にパラメータを作成することができます。[**Create a parameter (パラメータの作成)**] を選択し、手順に従います。(ダイアログボックスでは、[**KMS キー**] の場合、オプションでアカウントの AWS KMS キーの ARN を指定できます。Amazon EC2 Systems Manager では、このキーを使用して、保存中にパラメータの値を暗号化し、取得中に復号化します。) CodeBuild コンソールを使用してパラメータを作成した場合、コンソールは保存されている `/CodeBuild/` パラメータを開始します。ただし、Amazon EC2 Systems Manager パラメータストアコンソールを使用してパラメータを作成する場合、パラメータの名前を `/CodeBuild/` で開始する必要があり、**[タイプ]** を **[Secure String (安全な文字列)] **に設定する必要があります。詳細については、「*Amazon EC2 Systems Manager ユーザーガイド*」の「[AWS Systems Manager パラメータストア](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html)」および[「チュートリアル: String パラメータの作成とテスト (コンソール)」](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html)を参照してください。

   ビルドプロジェクトが Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照する場合、ビルドプロジェクトのサービスロールで `ssm:GetParameters` アクションを許可する必要があります。以前に **[アカウントに新しいサービスロールを作成する]** を選択している場合、CodeBuild は、このアクションをビルドプロジェクトのデフォルトのサービスロールに自動的に含めます。ただし [**Choose an existing service role from your account (アカウントから既存のサービスロールを選択する)**] を選択した場合は、このアクションをサービスロールに個別に含める必要があります。

   既存の環境変数は、設定した環境変数により置き換えられます。たとえば、Docker イメージに `my_value` の値を持つ `MY_VAR` という名前の環境変数が既に含まれていて、`other_value` の値を持つ `MY_VAR` という名前の環境変数を設定した場合、`my_value` が `other_value` に置き換えられます。同様に、Docker イメージに `/usr/local/sbin:/usr/local/bin` の値を持つ `PATH` という名前の環境変数が既に含まれていて、`$PATH:/usr/share/ant/bin` の値を持つ `PATH` という名前の環境変数を設定した場合、`/usr/local/sbin:/usr/local/bin` はリテラル値 `$PATH:/usr/share/ant/bin` に置き換えられます。

   `CODEBUILD_` で始まる名前の環境変数は設定しないでください。このプレフィックスは内部使用のために予約されています。

   同じ名前の環境変数が複数の場所で定義されている場合、環境変数の値は次のように決定されます。
   + ビルド開始オペレーション呼び出しの値が最も優先順位が高くなります。
   + ビルドプロジェクト定義の値が次に優先されます。
   + buildspec ファイル宣言の値の優先順位が最も低くなります。

   これらのプレースホルダの有効な値の詳細については、「[ビルドプロジェクトの作成 (AWS CLI)](create-project.md#create-project-cli)」を参照してください。ビルドプロジェクトの最新の設定の一覧については、「[ビルドプロジェクトの詳細を表示](view-project-details.md)」を参照してください。

1. 保存したばかりのファイルがあるディレクトリに移動し、`start-build` コマンドをもう一度実行します。

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

1. 成功した場合は、「[ビルドを実行するには](getting-started-overview.md#getting-started-run-build-cli)」の手順で説明されているのと同様のデータが出力に表示されます。

このビルドの詳細情報を使用するには、出力の `id` の値を書き留めてから、「[ビルドの詳細の表示 (AWS CLI)](view-build-details.md#view-build-details-cli)」を参照してください。

# バッチビルドの実行 (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*  
バッチビルドのビルドアーティファクトを 1 つのアーティファクトの場所に結合するかどうかを指定するブール値。  
*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)」を参照してください。

# ビルドの実行の自動開始 (AWS CLI)
<a name="run-build-cli-auto-start"></a>

ソースコードが GitHub または GitHub Enterprise Server リポジトリに保存されている場合は、コード変更がリポジトリにプッシュされるたびにGitHub ウェブフックを使用してソースコードを AWS CodeBuild 再構築できます。

次のように **create-webhook** コマンドを実行します。

```
aws codebuild create-webhook --project-name <project-name>
```

*<project-name>* は、再ビルドするソースコードを含むビルドプロジェクトの名前です。

GitHub では、次のような情報が出力に表示されます。

```
{
  "webhook": {
    "url": "<url>"
  }
}
```

*<url>* は GitHub ウェブフックへの URL です。

GitHub Enterprise Server の場合、以下のような情報が出力に表示されます。

![\[サンプル出力情報。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/create-webhook-ghe.png)


1. 出力からシークレットキーとペイロード URL をコピーします。これらは、GitHub Enterprise Server に Webhook を追加するために必要となります。

1. GitHub Enterprise Server で、CodeBuild プロジェクトが保存されているリポジトリを選択します。[**設定**]、[**Hooks & services**]、[**Add webhook**] の順に選択します。

1. ペイロード URL とシークレットキーを入力し、その他のフィールドにはデフォルト値を選択して、[**Add webhook**] を選択します。

# ビルドの実行の自動停止 (AWS CLI)
<a name="run-build-cli-auto-stop"></a>

ソースコードが GitHub または GitHub Enterprise Server リポジトリに保存されている場合は、コード変更がリポジトリにプッシュされるたびにソースコードを AWS CodeBuild 再構築するように GitHub ウェブフックを設定できます。詳細については、「[ビルドの実行の自動開始 (AWS CLI)](run-build-cli-auto-start.md)」を参照してください。

この動作を有効にしている場合、次の `delete-webhook` コマンドを実行して無効化できます。

```
aws codebuild delete-webhook --project-name <project-name>
```
+ *<project-name>* は、再構築するソースコードを含むビルドプロジェクトの名前です。

このコマンドが成功すると、情報やエラーはなにも出力に表示されません。

**注記**  
これは、CodeBuild プロジェクトからのみ webhook を削除します。GitHub または GitHub Enterprise Server でも Webhook を削除する必要があります。

# ビルドを実行する (AWS SDKs)
<a name="run-build-sdks"></a>

CodePipeline を使用してビルドを実行するには AWS CodeBuild、これらのステップをスキップし、[AWS CodeBuild で AWS CodePipeline を使用してコードをテストし、ビルドを実行する](how-to-create-pipeline.md)代わりに「」の手順に従います。

SDK で CodeBuild を使用する方法については、「」を参照してください[AWS SDKsとツールのリファレンス](sdk-ref.md)。 AWS SDKs