AWS CodeCommit リポジトリのトリガーを管理する - AWS CodeCommit

AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

AWS CodeCommit リポジトリのトリガーを管理する

Amazon Simple Notification Service (Amazon SNS) からの通知の送信や 関数の呼び出しなど、コードプッシュやその他のイベントがアクションをトリガーするように CodeCommit リポジトリを設定できます AWS Lambda。 CodeCommit リポジトリごとに最大 10 個のトリガーを作成できます。

トリガーは一般的に次のように設定されます。

  • リポジトリにプッシュする度に登録ユーザーに E メールを送信する。

  • リポジトリのメインブランチにプッシュされたらビルドを開始するように外部のビルドシステムに通知する。

外部のビルドシステムのようなシナリオの場合は、他のアプリケーションと相互作用するように Lambda 関数を記述する必要があります。E メールシナリオでは、Amazon SNSトピックを作成するだけで済みます。

このトピックでは、 が Amazon SNSおよび Lambda でアクション CodeCommit をトリガーできるようにするアクセス許可を設定する方法について説明します。また、トリガーの作成、編集、テスト、削除の例を示したリンクも紹介します。

リソースを作成し、 のアクセス許可を追加する CodeCommit

Amazon SNSトピックと Lambda 関数を のトリガーと統合できますが CodeCommit、まずリソースを作成し、それらのリソースを操作する CodeCommit ためのアクセス許可を付与するポリシーでリソースを設定する必要があります。リソースは、 CodeCommit リポジトリ AWS リージョン と同じ に作成する必要があります。例えば、リポジトリが米国東部 (オハイオ) (us-east-2) にある場合、Amazon SNSトピックまたは Lambda 関数は米国東部 (オハイオ) にある必要があります。

  • Amazon SNSトピックの場合、Amazon SNSトピックが CodeCommit リポジトリと同じアカウントを使用して作成されている場合、追加のIAMポリシーやアクセス許可を設定する必要はありません。Amazon SNSトピックを作成してサブスクライブすると、すぐに CodeCommit トリガーを作成できます。

  • 別の AWS アカウントで Amazon SNSトピックを使用するようにトリガーを設定する場合は、まず、 がそのトピック CodeCommit に発行することを許可するポリシーでそのトピックを設定する必要があります。詳細については、「例 1: Amazon SNS トピックへのクロスアカウントアクセスを有効にするポリシーを作成する」を参照してください。

  • Lambda 関数を設定するには、この関数の一部として Lambda コンソールでトリガーを作成します。Lambda コンソールで作成されたトリガーには、 が Lambda 関数 CodeCommit を呼び出すために必要なアクセス許可が自動的に含まれるため、これは最も簡単な方法です。でトリガーを作成する場合は CodeCommit、 が関数 CodeCommit を呼び出すことを許可するポリシーを含める必要があります。詳細については、既存の Lambda 関数のトリガーを作成するおよび例 3: a CodeCommit トリガーと AWS Lambda 統合するためのポリシーを作成するを参照してください。