の「Bitbucket プルリクエストとウェブフックフィルター」サンプルを実行する CodeBuild - AWS CodeBuild

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

の「Bitbucket プルリクエストとウェブフックフィルター」サンプルを実行する CodeBuild

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

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

注記

Webhook を使用する場合、ユーザーが予期しないビルドをトリガーする可能性があります。このリスクを軽減するには、「ウェブフック使用のベストプラクティス。」を参照してください。

前提条件

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

注記

CodeBuild は Bitbucket でアクセス許可を更新しました。以前にプロジェクトを Bitbucket に接続していて、Bitbucket 接続エラーが表示された場合は、再接続してウェブフックを管理するアクセス CodeBuild 許可を付与する必要があります。

ステップ 1: Bitbucket を使用してビルドプロジェクトを作成し、ウェブフックを有効にする

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

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

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

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

  4. [Project configuration (プロジェクトの設定)] で、次のようにします。

    [Project name] (プロジェクト名)

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

  5. [Source (ソース)] で、次のようにします。

    ソースプロバイダー

    [Bitbucket] を選択します。手順に従って Bitbucket に接続 (または再接続) し、[Authorize] (承認) を選択します。

    リポジトリ

    [Bitbucket アカウントのリポジトリ] を選択します。

    まだ Bitbucket アカウントに接続していない場合は、Bitbucket のユーザーネームとパスワードを入力し、[Bitbucket 認証情報の保存] を選択します。

    Bitbucket リポジトリ

    Bitbucket リポジトリURLの を入力します。

  6. [プライマリソース Webhook イベント] で、以下を選択します。

    注記

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

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

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

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

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

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

    Bitbucket ウェブフックイベントタイプとフィルターの詳細については、「Bitbucket ウェブフックイベント」を参照してください。

  7. [環境] で以下の操作を行います。

    環境イメージ

    以下のうちのひとつを選択します。

    によって管理される Docker イメージを使用するには AWS CodeBuild:

    [Managed image (マネージドイメージ)] を選択し、次に [オペレーティングシステム][ランタイム][イメージ]、および [ランタイムバージョン] で適切な選択を行います。利用可能な場合は、[環境タイプ] から選択します。

    別の Docker イメージを使用するには:

    [カスタムイメージ] を選択します。環境タイプ で、、ARMLinux、LinuxGPU、または Windows を選択します。その他のレジストリ を選択した場合は、外部レジストリ URLに、形式 を使用して Docker Hub に Docker イメージの名前とタグを入力しますdocker repository/docker image nameAmazon を選択した場合は、Amazon ECRECRリポジトリAmazon ECRイメージを使用して、 AWS アカウントの Docker イメージを選択します。

    プライベートDockerイメージを使用するには:

    [カスタムイメージ] を選択します。環境タイプ で、、LinuxARMLinuxGPU、または Windows を選択します。イメージレジストリ で、その他のレジストリ を選択し、プライベート Docker イメージARNの認証情報の を入力します。認証情報は、Secrets Manager で作成する必要があります。詳細については、「 ユーザーガイド」の AWS Secrets Manager「 とはAWS Secrets Manager 」を参照してください。

    サービスロール

    以下のうちのひとつを選択します。

    • CodeBuild サービスロールがない場合は、新しいサービスロール を選択します。[Role name] に、新しいロールの名前を入力します。

    • CodeBuild サービスロールがある場合は、「既存のサービスロール」を選択します。ロール ARNで、サービスロールを選択します。

    注記

    コンソールを使用してビルドプロジェクトを作成または更新する場合、 CodeBuild サービスロールを同時に作成できます。デフォルトでは、ロールはそのビルドプロジェクトでのみ使用できます。コンソールでは、このサービスロールを別のビルドプロジェクトと関連付けると、この別のビルドプロジェクトで使用できるようにロールが更新されます。サービスロールは最大 10 個のビルドプロジェクトで使用できます。

  8. [Buildspec] で、次のいずれかを行います。

    • [Use a buildspec file] (ビルド仕様ファイルの使用) を選択して、ソースコードのルートディレクトリの buildspec.yml を使用します。

    • [ビルドコマンドの挿入] を選択して、コンソールを使用してビルドコマンドを挿入します。

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

  9. [アーティファクト] で、次のようにします。

    タイプ

    次のいずれかを選択します。

    • ビルド出力アーティファクトを作成しない場合は、[No artifacts (アーティファクトなし)] を選択します。

    • ビルド出力を S3 バケットに保存する場合は、[Amazon S3] を選択して次のいずれかの操作を行います。

      • ビルド出力ZIPファイルまたはフォルダにプロジェクト名を使用する場合は、名前を空白のままにします。それ以外の場合は、名前を入力します。デフォルトでは、アーティファクト名はプロジェクト名です。別の名前を使用する場合は、アーティファクト名ボックスに名前を入力します。ZIP ファイルを出力する場合は、zip 拡張子を含めます。

      • [Bucket name (バケット名)] で、出力バケットの名前を選択します。

      • この手順の前半でビルドコマンドを挿入を選択した場合は、出力ファイル に、ビルド出力ファイルまたはフォルダに入れるビルドのZIPファイルの場所を入力します。複数の場所の場合は、各場所をコンマで区切ります (例: appspec.yml, target/my-app.jar)。詳細については、「files」で buildspec の構文 の説明を参照してください。

    追加設定

    [Additional configuration (追加設定)] オプションを展開し、必要に応じてオプションを設定します。

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

ステップ 2: Bitbucket ウェブフックを使用してビルドをトリガーする

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

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

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

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

  4. Bitbucket リポジトリにプルリクエストを作成します。詳細については、「プルリクエストを行う」を参照してください。

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

  6. 詳細を表示 を選択すると、 によって返されるレスポンスの詳細が表示されます CodeBuild。次のように表示されます。

    "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..." "statusCode":200
  7. Bitbucket プルリクエストページに移動して、ビルドのステータスを表示します。