翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の GitHub プルリクエストとウェブフックフィルターのサンプルを実行する CodeBuild
AWS CodeBuild は、ソースリポジトリが の場合にウェブフックをサポートします GitHub。つまり、ソースコードが GitHub リポジトリに保存されている CodeBuild ビルドプロジェクトでは、コード変更がリポジトリにプッシュされるたびにウェブフックを使用してソースコードを再構築できます。サンプルについては CodeBuild 、「サンプルAWS CodeBuild
注記
Webhook を使用する場合、ユーザーが予期しないビルドをトリガーする可能性があります。このリスクを軽減するには、「ウェブフック使用のベストプラクティス。」を参照してください。
ステップ 1: を使用して GitHubビルドプロジェクトを作成し、ウェブフックを有効にする
https://console.aws.amazon.com/codesuite/codebuild/home
で AWS CodeBuild コンソールを開きます。 CodeBuild 情報ページが表示されたら、ビルドプロジェクトの作成 を選択します。それ以外の場合は、ナビゲーションペインでビルドを展開し、[ビルドプロジェクト] を選択し、次に [Create build project (ビルドプロジェクトの作成)] を選択します。
-
[Create build project (ビルドプロジェクトの作成)] を選択します。
-
[Project configuration (プロジェクトの設定)] で、次のようにします。
- [Project name] (プロジェクト名)
-
このビルドプロジェクトの名前を入力します。ビルドプロジェクト名は、 AWS アカウントごとに一意である必要があります。また、他のユーザーがこのプロジェクトの使用目的を理解できるように、ビルドプロジェクトの説明を任意で指定することもできます。
-
[Source (ソース)] で、次のようにします。
- ソースプロバイダー
-
を選択しますGitHub。「」の指示に従って に接続 (または再接続) し GitHub 、「 の承認」を選択します。
- リポジトリ
-
アカウント GitHub のリポジトリ を選択します。
- GitHub リポジトリ
-
GitHub リポジトリURLの を入力します。
-
[プライマリソース Webhook イベント] で、以下を選択します。
注記
プライマリソースのウェブフックイベントセクションは、前のステップで GitHub アカウントでリポジトリを選択した場合にのみ表示されます。
-
プロジェクトの作成時に [コードの変更がこのレポジトリにプッシュされるたびに再構築する] を選択します。
-
[イベントタイプ] から、1 つ以上のイベントを選択します。
-
イベントでビルドをトリガーされた時間をフィルタリングするには、[これらの条件でビルドを開始する] で、1 つ以上のオプションフィルタを追加します。
-
イベントがトリガーされていない時間をフィルタリングするには、[これらの条件でビルドを開始しない] で、1 つ以上のオプションフィルタを追加します。
-
別のフィルタグループを追加する必要がある場合、[フィルタグループの追加] を選択します。
GitHub Webhook イベントタイプとフィルターの詳細については、「」を参照してくださいGitHub Webhook イベント。
-
-
[環境] で以下の操作を行います。
- 環境イメージ
以下のうちのひとつを選択します。
- によって管理される Docker イメージを使用するには AWS CodeBuild:
-
[Managed image (マネージドイメージ)] を選択し、次に [オペレーティングシステム]、[ランタイム]、[イメージ]、および [ランタイムバージョン] で適切な選択を行います。利用可能な場合は、[環境タイプ] から選択します。
- 別の Docker イメージを使用するには:
-
[カスタムイメージ] を選択します。環境タイプ で、、LinuxARM、LinuxGPU、または Windows を選択します。その他のレジストリ を選択した場合は、外部レジストリ URLに、形式 を使用して Docker Hub に Docker イメージの名前とタグを入力します
。Amazon を選択した場合は、Amazon ECRECRリポジトリと Amazon ECRイメージを使用して、 AWS アカウントの Docker イメージを選択します。docker repository
/docker image name
- プライベートDockerイメージを使用するには:
-
[カスタムイメージ] を選択します。環境タイプ で、、LinuxARM、LinuxGPU、または Windows を選択します。イメージレジストリ で、その他のレジストリ を選択し、プライベート Docker イメージARNの認証情報の を入力します。認証情報は、Secrets Manager で作成する必要があります。詳細については、「 ユーザーガイド」の AWS Secrets Manager「 とはAWS Secrets Manager 」を参照してください。
- サービスロール
-
以下のうちのひとつを選択します。
-
CodeBuild サービスロールがない場合は、新しいサービスロール を選択します。[Role name] に、新しいロールの名前を入力します。
-
CodeBuild サービスロールがある場合は、「既存のサービスロール」を選択します。ロール ARNで、サービスロールを選択します。
注記
コンソールを使用してビルドプロジェクトを作成または更新する場合、 CodeBuild サービスロールを同時に作成できます。デフォルトでは、ロールはそのビルドプロジェクトでのみ使用できます。コンソールでは、このサービスロールを別のビルドプロジェクトと関連付けると、この別のビルドプロジェクトで使用できるようにロールが更新されます。サービスロールは最大 10 個のビルドプロジェクトで使用できます。
-
[Buildspec] で、次のいずれかを行います。
-
[Use a buildspec file] (ビルド仕様ファイルの使用) を選択して、ソースコードのルートディレクトリの buildspec.yml を使用します。
-
[ビルドコマンドの挿入] を選択して、コンソールを使用してビルドコマンドを挿入します。
詳細については、「ビルド仕様 (buildspec) に関するリファレンス」を参照してください。
-
-
[アーティファクト] で、次のようにします。
- タイプ
-
次のいずれかを選択します。
-
ビルド出力アーティファクトを作成しない場合は、[No artifacts (アーティファクトなし)] を選択します。
-
ビルド出力を S3 バケットに保存する場合は、[Amazon S3] を選択して次のいずれかの操作を行います。
-
ビルド出力ZIPファイルまたはフォルダにプロジェクト名を使用する場合は、名前を空白のままにします。それ以外の場合は、名前を入力します。デフォルトでは、アーティファクト名はプロジェクト名です。別の名前を使用する場合は、アーティファクト名ボックスに名前を入力します。ZIP ファイルを出力する場合は、zip 拡張子を含めます。
-
[Bucket name (バケット名)] で、出力バケットの名前を選択します。
-
この手順の前半でビルドコマンドを挿入を選択した場合は、出力ファイル に、ビルド出力ファイルまたはフォルダに入れるビルドのZIPファイルの場所を入力します。複数の場所の場合は、各場所をコンマで区切ります (例:
appspec.yml, target/my-app.jar
)。詳細については、「files
」で buildspec の構文 の説明を参照してください。
-
-
- 追加設定
-
[Additional configuration (追加設定)] オプションを展開し、必要に応じてオプションを設定します。
-
[Create build project (ビルドプロジェクトの作成)] を選択します。[確認] ページで、[ビルドの開始] を選択してビルドを実行します。
ステップ 2: ウェブフックが有効になっていることを確認する
https://console.aws.amazon.com/codesuite/codebuild/home
で AWS CodeBuild コンソールを開きます。 -
ナビゲーションペインで、[Build projects] を選択します。
-
次のいずれかを行ってください。
-
確認する Webhook を持つビルドプロジェクトのリンクを選択し、[ビルドの詳細] を選択します。
-
確認する Webhook を持つビルドプロジェクトの横にあるラジオボタンを選択して、[View details] (詳細を表示) を選択後、[ビルドの詳細] タブを選択します。
-
-
プライマリソースウェブフックイベント で、ウェブフックURLリンクを選択します。
-
GitHub リポジトリの「設定」ページの「ウェブフック」で、プルリクエストとプッシュが選択されていることを確認します。
-
GitHub プロファイル設定の「個人設定」、「アプリケーション」、「認可されたOAuthアプリケーション」で、アプリケーションが選択した AWS リージョンにアクセスする権限を持っていることがわかります。