

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

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

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

このサンプルでは、Bitbucket リポジトリを使用してプルリクエストを作成する方法について説明します。また、Bitbucket ウェブフックを使用して CodeBuild をトリガーし、プロジェクトのビルドを作成する方法についても説明します。

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

**Topics**
+ [前提条件](#sample-bitbucket-pull-request-prerequisites)
+ [ステップ 1: Bitbucket を使用してビルドプロジェクトを作成し、ウェブフックを有効化](#sample-bitbucket-pull-request-create)
+ [ステップ 2: Bitbucket ウェブフックを使用してビルドをトリガー](#sample-bitbucket-pull-request-trigger)

## 前提条件
<a name="sample-bitbucket-pull-request-prerequisites"></a>

 このサンプルを実行するには、 AWS CodeBuild プロジェクトを Bitbucket アカウントに接続する必要があります。

**注記**  
 CodeBuild によって、Bitbucket を使用したアクセス許可が更新されています。以前にプロジェクトを Bitbucket に接続し、Bitbucket 接続エラーになったことがある場合は、再接続の上、CodeBuild アクセス許可を付与してウェブフックを管理する必要があります。

## ステップ 1: Bitbucket を使用してビルドプロジェクトを作成し、ウェブフックを有効化
<a name="sample-bitbucket-pull-request-create"></a>

 次の手順では、Bitbucket をソースリポジトリとして AWS CodeBuild プロジェクトを作成し、ウェブフックを有効にする方法について説明します。

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 (ソース)**] で、次のようにします。  
**ソースプロバイダー**  
[**Bitbucket**] を選択します。手順に従って Bitbucket に接続 (または再接続) し、[**Authorize**] (承認) を選択します。  
**リポジトリ**  
[**Bitbucket アカウントのリポジトリ**] を選択します。  
まだ Bitbucket アカウントに接続していない場合は、Bitbucket のユーザーネームとパスワードを入力し、[**Bitbucket 認証情報の保存**] を選択します。  
**Bitbucket リポジトリ**  
Bitbucket リポジトリの URL を入力します。

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

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

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

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

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

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

   Bitbucket ウェブフックイベントタイプとフィルターの詳細については、「[Bitbucket ウェブフックイベント](bitbucket-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: Bitbucket ウェブフックを使用してビルドをトリガー
<a name="sample-bitbucket-pull-request-trigger"></a>

Bitbucket ウェブフックを使用するプロジェクトの場合、Bitbucket リポジトリがソースコードの変更を検出すると、 はビルド AWS CodeBuild を作成します。

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

1. ナビゲーションペインで [**ビルドプロジェクト**] を選択後、ウェブフックを使用して Bitbucket リポジトリと関連付けられているプロジェクトを選択します。Bitbucket Webhook プロジェクトの作成の詳細については、「[ステップ 1: Bitbucket を使用してビルドプロジェクトを作成し、ウェブフックを有効化](#sample-bitbucket-pull-request-create)」を参照してください。

1. プロジェクトの Bitbucket リポジトリのコードに一部変更を加えます。

1. Bitbucket リポジトリにプルリクエストを作成します。詳細については、「[プルリクエストを行う](https://www.atlassian.com/git/tutorials/making-a-pull-request)」を参照してください。

1. Bitbucket ウェブフックページで、[**View request (リクエストの表示)**] を選択して最新イベントのリストを表示します。

1. [**View details**] (詳細の表示) を選択して、CodeBuild より返されるレスポンスに関する詳細を表示します。次のように表示されます。

   ```
   "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..."
   "statusCode":200
   ```

1. Bitbucket プルリクエストページに移動して、ビルドのステータスを表示します。