

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

# CodeBuild の GitHub プルリクエストとウェブフックフィルタのサンプルを実行
<a name="sample-github-pull-request"></a>

AWS CodeBuild は、ソースリポジトリが GitHub の場合にウェブフックをサポートします。つまり、ソースコードが GitHub リポジトリに保存されている CodeBuild ビルドプロジェクトでは、ウェブフックを使用することで、コード変更がリポジトリにプッシュされるたびにソースコードを再構築できます。CodeBuild のサンプルについては、「[AWS CodeBuild のサンプル](https://github.com/aws-samples/aws-codebuild-samples)」を参照してください。

**注記**  
Webhook を使用する場合、ユーザーが予期しないビルドをトリガーする可能性があります。このリスクを軽減するには、「[ウェブフック使用のベストプラクティス。](webhooks.md#webhook-best-practices)」を参照してください。

**Topics**
+ [

## ステップ 1: GitHub でビルドプロジェクトを作成し、ウェブフックを有効化
](#sample-github-pull-request-running)
+ [

## ステップ 2: ウェブフックが有効になっていることを確認
](#verification-checks)

## ステップ 1: GitHub でビルドプロジェクトを作成し、ウェブフックを有効化
<a name="sample-github-pull-request-running"></a>

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

1.  CodeBuild の情報ページが表示された場合、**ビルドプロジェクトを作成する**を選択します。それ以外の場合は、ナビゲーションペインで**ビルド**を展開し、**[ビルドプロジェクト] **を選択し、次に **[Create build project (ビルドプロジェクトの作成)] **を選択します。

1. [**Create build project (ビルドプロジェクトの作成)**] を選択します。

1. [**Project configuration (プロジェクトの設定)**] で、次のようにします。  
**[Project name]** (プロジェクト名)  
このビルドプロジェクトの名前を入力します。ビルドプロジェクト名は、 AWS アカウントごとに一意である必要があります。また、他のユーザーがこのプロジェクトの使用目的を理解できるように、ビルドプロジェクトの説明を任意で指定することもできます。

1. [**Source (ソース)**] で、次のようにします。  
**ソースプロバイダー**  
[**GitHub**] を選択します。手順に従って GitHub に接続 (または再接続) し、[**Authorize (承認)**] を選択します。  
**リポジトリ**  
[**GitHub アカウントのリポジトリ**] を選択します。  
**GitHub リポジトリ**  
GitHub リポジトリの URL を入力します。

1. [**プライマリソース Webhook イベント**] で、以下を選択します。
**注記**  
[**プライマリソースの Webhook イベント**] セクションは、前のステップで [**GitHub アカウントのリポジトリ**] を選択した場合のみに表示されます。

   1. プロジェクトの作成時に [**コードの変更がこのレポジトリにプッシュされるたびに再構築する**] を選択します。

   1. [**イベントタイプ**] から、1 つ以上のイベントを選択します。

   1. イベントでビルドをトリガーされた時間をフィルタリングするには、[**これらの条件でビルドを開始する**] で、1 つ以上のオプションフィルタを追加します。

   1. イベントがトリガーされていない時間をフィルタリングするには、[**これらの条件でビルドを開始しない**] で、1 つ以上のオプションフィルタを追加します。

   1. 別のフィルタグループを追加する必要がある場合、[**フィルタグループの追加**] を選択します。

   GitHub Webhook イベントタイプとフィルターの詳細については、「[GitHub ウェブフックイベント](github-webhook.md)」を参照してください。

1. [**環境**] で以下の操作を行います。  
**環境イメージ**  
次のいずれかを選択します。    
によって管理される Docker イメージを使用するには AWS CodeBuild:  
**[Managed image (マネージドイメージ)]** を選択し、次に **[オペレーティングシステム]**、**[ランタイム]**、**[イメージ]**、および **[ランタイムバージョン] **で適切な選択を行います。利用可能な場合は、[**環境タイプ**] から選択します。  
別の Docker イメージを使用するには:  
[**カスタムイメージ**] を選択します。**[Environment type (環境タイプ)]** で、 [**ARM**]、[**Linux**]、[**Linux GPU**] または [**Windows**] を選択します。[**Other registry (その他のレジストリ)**] を選択した場合は、[**External registry URL (外部のレジストリ URL)**] に `docker repository/docker image name` の形式に従って Docker Hub の Docker イメージの名前とタグを入力します。[**Amazon ECR**] を選択した場合は、[**Amazon ECR レポジトリ**] および [**Amazon ECR イメージ**] を使用して AWS アカウントの Docker イメージを選択します。  
プライベートDockerイメージを使用するには：  
[**カスタムイメージ**] を選択します。**[Environment type (環境タイプ)]** で、 [**ARM**]、[**Linux**]、[**Linux GPU**] または [**Windows**] を選択します。[**Image registry (イメージレジストリ)**] に [**Other registry (その他のレジストリ)**] を選択して、その後プライベート Docker イメージの認証情報の ARN を入力します。認証情報は、Secrets Manager で作成する必要があります。詳細については、「 *AWS Secrets Manager ユーザーガイド*」の[「What is AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)」を参照してください。  
**サービスロール**  
次のいずれかを選択します。  
   + CodeBuild サービスロールがない場合は、[**新しいサービスロール**] を選択します。[**Role name**] に、新しいロールの名前を入力します。
   + CodeBuild サービスロールがある場合は、**[Existing service role (既存のサービスロール)]** を選択します。[**Role ARN**] で、サービスロールを選択します。
コンソールでは、ビルドプロジェクトの作成時や更新時に CodeBuild サービスロールも作成できます。デフォルトでは、ロールはそのビルドプロジェクトでのみ使用できます。コンソールでは、このサービスロールを別のビルドプロジェクトと関連付けると、この別のビルドプロジェクトで使用できるようにロールが更新されます。サービスロールは最大 10 個のビルドプロジェクトで使用できます。

1. [**Buildspec**] で、次のいずれかを行います。
   + [**Use a buildspec file**] (ビルド仕様ファイルの使用) を選択して、ソースコードのルートディレクトリの buildspec.yml を使用します。
   + [**ビルドコマンドの挿入**] を選択して、コンソールを使用してビルドコマンドを挿入します。

   詳細については、「[ビルド仕様 (buildspec) に関するリファレンス](build-spec-ref.md)」を参照してください。

1. [**アーティファクト**] で、次のようにします。  
**タイプ**  
次のいずれかを選択します。  
   + ビルド出力アーティファクトを作成しない場合は、[**No artifacts (アーティファクトなし)**] を選択します。
   + ビルド出力を S3 バケットに保存する場合は、[**Amazon S3**] を選択して次のいずれかの操作を行います。
     + ビルド出力 ZIP ファイルまたはフォルダにプロジェクト名を使用する場合は、[**Name (名前)**] を空白のままにします。それ以外の場合は、名前を入力します。デフォルトでは、アーティファクト名はプロジェクト名です。別の名前を使用する場合は、アーティファクト名ボックスに名前を入力します。ZIP ファイルを出力する場合は、zip 拡張子を含めます。
     + [**Bucket name (バケット名)**] で、出力バケットの名前を選択します。
     + この手順の前の方で [**ビルドコマンドの挿入**] を選択した場合は、[**出力ファイル**] に、ビルド出力 ZIP ファイルまたはフォルダに格納するビルドのファイルの場所を入力します。複数の場所の場合は、各場所をコンマで区切ります (例: `appspec.yml, target/my-app.jar`)。詳細については、「`files`」で [buildspec の構文](build-spec-ref.md#build-spec-ref-syntax) の説明を参照してください。  
**追加設定**  
[**Additional configuration (追加設定)**] オプションを展開し、必要に応じてオプションを設定します。

1. [**Create build project (ビルドプロジェクトの作成)**] を選択します。[**確認**] ページで、[**ビルドの開始**] を選択してビルドを実行します。

## ステップ 2: ウェブフックが有効になっていることを確認
<a name="verification-checks"></a>

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

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

1. 次のいずれかを行ってください。
   + 確認する Webhook を持つビルドプロジェクトのリンクを選択し、[**ビルドの詳細**] を選択します。
   + 確認する Webhook を持つビルドプロジェクトの横にあるラジオボタンを選択して、[**View details**] (詳細を表示) を選択後、[**ビルドの詳細**] タブを選択します。

1. [**プライマリソース Webhook イベント**] で、[**Webhook**] の URL リンクを選択します。

1. GitHub リポジトリの [**設定**] ページの [**ウェブフック**] で、[**プルリクエスト**] と [**プッシュ**] が選択されていることを確認します。

1. GitHub プロファイル設定の**「個人設定**」、**「アプリケーション****」、「認可された OAuth アプリ**」で、アプリケーションが選択した AWS リージョンへのアクセスを許可されていることを確認できます。