のサードパーティーのソースリポジトリのサンプル CodeBuild - AWS CodeBuild

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

のサードパーティーのソースリポジトリのサンプル CodeBuild

の Bitbucket プルリクエストとウェブフックフィルターのサンプル CodeBuild

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

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

注記

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

前提条件

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

注記

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

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 イメージを使用するには:

    [カスタムイメージ] を選択します。[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 repository] (Amazon ECR レポジトリ) および [Amazon ECR image] (Amazon ECR イメージ) を使用して AWS アカウントの Docker イメージを選択します。

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

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

    サービスロール

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

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

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

    注記

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

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

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

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

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

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

    タイプ

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

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

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

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

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

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

    追加設定

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

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

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

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

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

  2. ナビゲーションペインで [ビルドプロジェクト] を選択後、ウェブフックを使用して Bitbucket リポジトリと関連付けられているプロジェクトを選択します。Bitbucket Webhook プロジェクトの作成の詳細については、「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 プルリクエストページに移動して、ビルドのステータスを表示します。

GitHub の Enterprise Server サンプル CodeBuild

AWS CodeBuild は、ソースリポジトリとして GitHub Enterprise Server をサポートします。このサンプルでは、 GitHub Enterprise Server リポジトリに証明書がインストールされている場合に CodeBuild プロジェクトを設定する方法を示します。また、ウェブフックを有効にして、コード変更が GitHub Enterprise Server リポジトリにプッシュされるたびに がソースコードを CodeBuild 再構築する方法も示します。

前提条件

  1. CodeBuild プロジェクトの個人用アクセストークンを生成します。 GitHub Enterprise ユーザーを作成し、このユーザーの個人用アクセストークンを生成することをお勧めします。 CodeBuild プロジェクトの作成時に使用できるように、クリップボードにコピーします。詳細については、ヘルプウェブサイトの「コマンドライン用の個人用アクセストークンの作成」を参照してください。 GitHub

    個人用アクセストークンを作成するときには、定義にリポジトリスコープを含めてください。

  2. GitHub Enterprise Server. CodeBuild uses から証明書をダウンロードして、リポジトリへの信頼できる SSL 接続を確立します。

    Linux/macOS クライアント:

    のターミナルウィンドウから、以下のコマンドを実行します。

    echo -n | openssl s_client -connect HOST:PORTNUMBER \ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem

    コマンドのプレースホルダを次の値で置き換えます。

    HOST GitHub Enterprise Server リポジトリの IP アドレス。

    PORTNUMBER。接続するときに使用するポート番号 (たとえば、443)。

    folder 証明書をダウンロードしたフォルダ。

    filename 証明書ファイルのファイル名。

    重要

    証明書を .pem ファイルとして保存します。

    Windows クライアント:

    ブラウザを使用して、 GitHub Enterprise Server から証明書をダウンロードします。サイトの証明書の詳細を表示するには、南京錠アイコンを選択します。証明書をエクスポートする方法についての詳細は、ブラウザのドキュメントを参照してください。

    重要

    証明書を .pem ファイルとして保存します。

  3. 証明書ファイルを S3 バケットにアップロードします。S3 バケットを作成する方法については、「S3 バケットを作成する方法」を参照してください。S3 バケットにオブジェクトをアップロードする方法については、「バケットにファイルとフォルダをアップロードする方法」を参照してください。

    注記

    このバケットはビルドと同じ AWS リージョンにある必要があります。例えば、米国東部 (オハイオ) リージョンでビルドを実行する CodeBuild ように に指示する場合、バケットは米国東部 (オハイオ) リージョンにある必要があります。

Enterprise Server を GitHubソースリポジトリとしてビルドプロジェクトを作成し、ウェブフックを有効にする (コンソール)

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

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

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

  4. ソースソースプロバイダー で、GitHub エンタープライズ を選択します。

    • [個人用アクセストークン] には、クリップボードにコピーしたトークンを貼り付け、[トークンの保存] を選択します。リポジトリ URL に、 GitHub Enterprise Server リポジトリの URL を入力します。

      注記

      個人用アクセストークンは、一回のみ入力して保存することが必要となります。以降のプロジェクトはすべてこのトークン AWS CodeBuild を使用します。

    • [Repository URL] に、リポジトリへのパス (例: リポジトリの名前) を入力します。

    • [Additional configuration (追加設定)] を展開します。

    • [Rebuild every time a code change is pushed to this repository (コード変更がこのリポジトリにプッシュされるたび再構築)] を選択して、コード変更がこのリポジトリにプッシュされるたびに再構築します。

    • GitHub Enterprise Server プロジェクトリポジトリへの接続中に SSL 警告を無視するには、安全でない SSL を有効にするを選択します。

      注記

      [Enable insecure SSL (セキュアでない SSL を有効にする)] はテストのみに使用することが推奨されます。本番環境では使用しないでください。

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

    [Environment image (環境イメージ)] で、次のいずれかの操作を行います。

    • によって管理される Docker イメージを使用するには AWS CodeBuild、マネージドイメージ を選択し、オペレーティングシステム ランタイム (s)イメージ イメージバージョン から選択します。利用可能な場合は、[環境タイプ] から選択します。

    • 別の 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 ユーザーガイドの「AWS Secrets Managerとは」を参照してください。

  6. [Service role (サービスロール)] で、次のいずれかの操作を行います。

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

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

    注記

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

  7. [Additional configuration (追加設定)] を展開します。

    VPC CodeBuild を使用する場合:

    • VPC の場合、 が CodeBuild 使用する VPC ID を選択します。

    • VPC サブネット で、 が CodeBuild 使用するリソースを含むサブネットを選択します。

    • VPC セキュリティグループ で、 CodeBuild が VPCs内のリソースへのアクセスを許可するために使用するセキュリティグループを選択します。

    詳細については、「Amazon Virtual Private Cloud AWS CodeBuild で を使用する」を参照してください。

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

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

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

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

  9. [アーティファクト] の [タイプ] で、次のいずれかの操作を行います。

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

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

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

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

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

  10. [キャッシュタイプ] で、以下のいずれかを選択します。

    • キャッシュを使用しない場合は、[No cache] を選択します。

    • Amazon S3 キャッシュを使用するには、[Amazon S3] を選択して次の操作を行います。

      • [バケット] では、キャッシュが保存される S3 バケットの名前を選択します。

      • (オプション) [Cache path prefix (キャッシュパスのプレフィックス)] に、Amazon S3 パスのプレフィックスを入力します。[キャッシュパスのプレフィックス] 値はディレクトリ名に似ています。これにより、バケット内の同じディレクトリにキャッシュを保存できます。

        重要

        パスのプレフィックスの末尾にスラッシュ (/) を付加しないでください。

    • ローカルキャッシュを使用する場合は、[ローカル] を選択し、ローカルキャッシュモードを 1 つ以上選択します。

      注記

      Docker レイヤーキャッシュモードは Linux でのみ利用可能です。このモードを選択する場合、プロジェクトは権限モードで実行する必要があります。

    キャッシュを使用すると、再利用可能なビルド環境がキャッシュに保存され、ビルド全体で使用されるため、かなりのビルド時間が節約されます。ビルド仕様ファイルのキャッシュの指定に関する詳細については、「buildspec の構文」を参照してください。キャッシングの詳細については、「AWS CodeBuild でのキャッシュのビルド」を参照してください。

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

  12. [ソース] でウェブフックを有効にすると、[ペイロードの URL] の値および [シークレット] を示した [ウェブフックの作成] ダイアログボックスが表示されます。

    重要

    [ウェブフックの作成] ダイアログボックスが表示されるのは 1 回だけです。ペイロード URL とシークレットキーをコピーします。Enterprise GitHub Server でウェブフックを追加するときに必要になります。

    ペイロード URL とシークレットキーを再度生成する必要がある場合は、まず GitHub Enterprise Server リポジトリからウェブフックを削除する必要があります。 CodeBuild プロジェクトで、Webhook チェックボックスをオフにし、保存を選択します。その後、 CodeBuildWebhook チェックボックスをオンにしてプロジェクトを作成または更新できます。[ウェブフックの作成] ダイアログボックスが再度表示されます。

  13. GitHub Enterprise Server で、 CodeBuild プロジェクトが保存されているリポジトリを選択します。

  14. [設定]、[Hooks & services]、[Add webhook] の順に選択します。

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

  16. CodeBuild プロジェクトに戻ります。[ウェブフックの作成] ダイアログボックスを閉じ、[ビルドの開始] を選択します。

GitHub のプルリクエストとウェブフックフィルターのサンプル CodeBuild

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

注記

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

ソースリポジトリとして を使用して GitHubビルドプロジェクトを作成し、ウェブフックを有効にする (コンソール)

  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 (ソース)] で、次のようにします。

    ソースプロバイダー

    を選択しますGitHub。「」の指示に従って と接続 (または再接続) し GitHub 、「承認」を選択します。

    リポジトリ

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

    GitHub リポジトリ

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

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

    注記

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

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

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

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

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

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

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

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

    環境イメージ

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

    によって管理される 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 repository] (Amazon ECR レポジトリ) および [Amazon ECR image] (Amazon ECR イメージ) を使用して AWS アカウントの Docker イメージを選択します。

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

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

    サービスロール

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

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

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

    注記

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

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

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

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

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

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

    タイプ

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

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

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

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

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

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

    追加設定

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

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

検証チェック

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

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

  3. 次のいずれかを行ってください。

    • 確認する Webhook を持つビルドプロジェクトのリンクを選択し、[ビルドの詳細] を選択します。

    • 確認する Webhook を持つビルドプロジェクトの横にあるラジオボタンを選択して、[View details] (詳細を表示) を選択後、[ビルドの詳細] タブを選択します。

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

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

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