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

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

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

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

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

  2. ウェルカムページが表示された場合は、[今すぐ始める] を選択します。ウェルカムページが表示されない場合は、ナビゲーションペインで [Build projects] を選択し、次に [Create project] を選択します。

  3. [Configure your project] ページの [Project name] に、このビルドプロジェクトの名前を入力します。ビルドプロジェクトの名前は、各 AWS アカウントで一意である必要があります。

  4. [Source: What to build] で、[Source provider] として [GitHub] を選択します。手順に従って GitHub に接続 (または再接続) し、[Authorize] を選択します。

    [Webhook] では、[コードの変更がこのレポジトリにプッシュされるたびに再構築する] チェックボックスをオンにします。このチェックボックスを選択できるのは、[Repository] で [自分のアカウントでリポジトリを使用する] を選択した場合のみです。

  5. [Environment: How to build] で以下の操作を行います。

    [Environment image] で、次のいずれかの操作を行います。

    • AWS CodeBuild で管理されている Docker イメージを使用するには、[Use an image managed by AWS CodeBuild] を選択し、次に [Operating system]、[Runtime]、および [Version] で選択を行います。

    • 別の Docker イメージを使用するには、[Specify a Docker image] を選択します。[Custom image type] で [Other] または [Amazon ECR] を選択します。[Other] を選択した場合は、[Custom image ID] に Docker Hub の Docker イメージの名前とタグを repository-name/image-name:image-tag の形式で入力します。[Amazon ECR] を選択した場合は、[Amazon ECR repository] および [Amazon ECR image] を使用して AWS アカウントの Docker イメージを選択します。

    [Build specification] で、次のいずれかの操作を行います。

    • ソースコードのルートディレクトリの buildspec.yml ファイルを使用します。

    • ビルドコマンドを挿入してビルド仕様をオーバーライドします。

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

  6. [Artifacts: Where to put the artifacts from this build project] で、[Artifacts type] として次のいずれかの操作を行います。

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

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

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

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

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

  7. [Service role] で、次のいずれかの操作を行います。

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

    • AWS CodeBuild サービスロールがある場合は、[Choose an service existing role from your account] を選択します。[Role name] で、サービスロールを選択します。

    注記

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

  8. [詳細設定の表示] を展開し、必要に応じて設定します。

  9. [Continue] を選択します。[Review] ページで、[Save and build] を選択します。後でビルドを実行する場合は、[Save] を選択します。

検証チェック

  1. [AWS CodeBuild プロジェクト] ページで以下の操作を実行します。

    • [プロジェクト詳細] を選択してから [Webhook] URL リンクを選択します。GitHub リポジトリの [Settings] ページの [Webhooks] で、[Pull Request] と [Push] の両方が選択されていることを確認します。

  2. GitHub の [アカウント]、[設定]、[Authorized OAuth Apps] に、承認された AWS CodeBuild リージョンが表示されます。