AWS CodeBuild
ユーザーガイド (API バージョン 2016-10-06)

このガイドの手順では、新しいコンソールデザインがサポートされています。古いバージョンのコンソールを選択すると、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

CodeBuild の GitHub プルリクエストサンプル

AWS CodeBuild は、ソースリポジトリが GitHub の場合、ウェブフックをサポートするようになりました。つまり、ソースコードがプライベート GitHub リポジトリに保存されている AWS CodeBuild ビルドプロジェクトでは、ウェブフックを使用することで、コード変更がプライベートリポジトリにプッシュされるたびに AWS CodeBuild がソースコードを自動的に再構築できるようになります。

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

  1. Open the AWS CodeBuild console at https://console.aws.amazon.com/codesuite/codebuild/home.

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

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

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

    [Create build project (ビルドプロジェクトの作成)] ページの [Project configuration (プロジェクト設定)] で、[プロジェクト名] にこのビルドプロジェクトの名前を入力します。ビルドプロジェクト名は、各 アカウントで一意である必要があります。このプロジェクトの用途を他のユーザーが理解しやすいように、必要に応じてビルドプロジェクトの説明を含めることもできます。

  5. [ソース] で、[ソースプロバイダ] として [GitHub] を選択します。手順に従って GitHub に接続 (または再接続) し、[Authorize (承認)] を選択します。

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

    [GitHub リポジトリ] に、GitHub リポジトリの URL を入力します。

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

    [ウェブフック] で、[Rebuild every time a code change is pushed to this repository (コードの変更がこのレポジトリにプッシュされるたびに再構築する)] を選択します。このチェックボックスは、[GitHub アカウントのリポジトリ] を選択した場合のみオンにできます。

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

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

    • AWS CodeBuild が管理する Docker イメージを使用するには、[Managed image (マネージドイメージ)] を選択し、次に [オペレーティングシステム]、[ランタイム]、および [ランタイムバージョン] で適切な選択を行います。

    • 別の Docker イメージを使用するには、[カスタムイメージ] を選択します。[Environment type (環境タイプ)] で、[Linux] または [Windows] を選択します。[Custom image type (カスタムイメージタイプ)] で [Amazon ECR] または [Other location (その他の場所)] を選択します。[Other location (その他の場所)] を選択した場合は、docker repository/docker image name の形式に従って Docker Hub の Docker イメージの名前とタグを入力します。[Amazon ECR] を選択した場合は、[Amazon ECR repository (ECR リポジトリ)] および [Amazon ECR image (ECR イメージ)] を使用して AWS アカウントの Docker イメージを選択します。

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

    • CodeBuild サービスロールがない場合は、[New service role (新しいサービスロール)] を選択します。[Role name (ロール名)] で、デフォルト名を受け入れるか、独自の名前を入力します。

    • CodeBuild サービスロールがある場合は、[Existing service role (既存のサービスロール)] を選択します。[Role name (ロール名)] で、サービスロールを選択します。

    注記

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

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

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

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

    詳細については、「ビルドスペックリファレンス」を参照してください。

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

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

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

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

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

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

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

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

検証チェック

  1. Open the AWS CodeBuild console at https://console.aws.amazon.com/codesuite/codebuild/home.

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

  3. 以下のいずれかを行います。

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

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

  4. [ソース] で、[Webhook] URL リンクを選択します。

  5. GitHub リポジトリの [Settings (設定)] ページの [Webhooks (Webhook)] で、[Pull Requests (プルリクエスト)] と [Pushes (プッシュ)] が選択されていることを確認します。

  6. GitHub プロファイル設定の [Personal settings (個人用設定)]、[Applications (アプリケーション)]、[Authorized OAuth Apps (認定された OAuth アプリ)] に、CodeBuild リージョンが承認されたことが表示されます。