でウェブフックを使用する AWS CodeBuild - AWS CodeBuild

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

でウェブフックを使用する AWS CodeBuild

AWS CodeBuild は、、 GitHub Enterprise Server GitHub、、 GitLab Self Managed GitLab、Bitbucket とのウェブフック統合をサポートします。

でウェブフックを使用するためのベストプラクティス AWS CodeBuild

パブリックリポジトリを使用してウェブフックをセットアップするプロジェクトでは、以下のオプションを使用することをお勧めします。

ACTOR_ACCOUNT_ID フィルターのセットアップ

プロジェクトのウェブフックACTOR_ACCOUNT_IDフィルターグループにフィルターを追加して、ビルドをトリガーできるユーザーを指定します。に配信されるすべてのウェブフックイベント CodeBuild には、アクターの識別子を指定する送信者情報が含まれています。 CodeBuild は、フィルターで指定された正規表現パターンに基づいてウェブフックをフィルタリングします。このフィルタを使用して、ビルドのトリガーを許可する特定のユーザーを指定できます。詳細については、「GitHub ウェブフックイベント」および「Bitbucket ウェブフックイベント」を参照してください。

FILE_PATH フィルターのセットアップ

プロジェクトのウェブフックフィルターグループにFILE_PATHフィルターを追加して、変更時にビルドをトリガーできるファイルを含めるか除外します。例えば、 などの正規表現パターンと excludeMatchedPatternプロパティを使用して^buildspec.yml$buildspec.yml ファイルへの変更に対するビルドリクエストを拒否できます。詳細については、「GitHub ウェブフックイベント」および「Bitbucket ウェブフックイベント」を参照してください。

ビルドIAMロールのアクセス許可の範囲を絞り込む

ウェブフックによってトリガーされるビルドは、プロジェクトで指定されたIAMサービスロールを使用します。サービスロールのアクセス許可は、ビルドの実行に必要な最小限のアクセス許可セットに設定することをお勧めします。たとえば、テストおよびデプロイのシナリオでは、テスト用にプロジェクトを 1 つ作成し、デプロイ用に別のプロジェクトを作成します。テストプロジェクトは、リポジトリからの webhook ビルドを受け付けますが、リソースへの書き込み権限は提供しません。デプロイメントプロジェクトはリソースへの書き込み権限を提供し、webhook フィルターは信頼済みのユーザーにのみビルドをトリガーできるように設定されています。

インラインまたは Amazon S3 に保管した buildspec を使用する

プロジェクト自体内で buildspec をインラインで定義する場合、または buildspec ファイルを Amazon S3 バケットに格納する場合、buildspec ファイルはプロジェクト所有者のみに表示されます。これにより、プル要求が buildspec ファイルにコードを変更したり、不要なビルドをトリガーしたりするのを防ぎます。詳細については、「 CodeBuildAPIリファレンス」のProjectSource「.buildspec」を参照してください。