AWS CodeCommit イベントからカスタムアクションを実行する - AWS 規範ガイダンス

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

AWS CodeCommit イベントからカスタムアクションを実行する

作成者: Abdullahi Olaoye (AWS)

環境:PoC またはパイロット

テクノロジー: DevOps; 管理とガバナンス

AWS サービス: AWS CodeCommit、Amazon SNS

[概要]

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

AWS CodeCommit リポジトリを使用してコードを保存する場合、リポジトリをモニタリングし、特定のイベントが発生したときにアクションのワークフローを開始できます。例えば、コミット内のコード行にユーザーがコメントしたときに E メール通知を送信するか、コミット後に Lambda AWS 関数を起動してリポジトリコンテンツでセキュリティスキャンを実行することができます。このパターンは、カスタムアクションの CodeCommit リポジトリを設定するステップの概要を示しています。このパターンは、AWS CodeCommit 通知ルールを使用して目的のイベントをキャプチャし、これらのイベントを設定済みのターゲットに送信します。

前提条件と制限

前提条件

アーキテクチャ

AWS Code Commit イベント、Amazon SNSサブスクリプション、および結果アクションのアーキテクチャ図。

ツール

AWS サービス

  • AWS CodeCommit は、セキュアな Git ベースのリポジトリをホストするフルマネージド型のソースコントロールサービスです。これにより、安全でスケーラブルなエコシステムでチームがコード上でコラボレーションすることが容易になります。 CodeCommit は、独自のソースコントロールシステムを運用したり、インフラストラクチャのスケーリングを心配したりする必要がなくなります。

  • Amazon Simple Notification Service (Amazon SNS) は、アプリケーション、エンドユーザー、デバイスがクラウドから通知を瞬時に送受信できるようにするウェブサービスです。Amazon SNS は、ハイスループット、プッシュベースの many-to-manyメッセージングのトピック (通信チャネル) を提供しています。Amazon SNSトピックを使用すると、パブリッシャーは Amazon Simple Queue Service (Amazon SQS) キュー、AWSLambda 関数、HTTP/S ウェブフックなど、並列処理のためにメッセージを多数のサブスクライバーに配信できます。Amazon を使用してSNS、モバイルプッシュ、、SMSおよび E メールを使用してエンドユーザーに通知を送信することもできます。

エピック

タスク説明必要なスキル

CodeCommit リポジトリを作成します。

CodeCommit コンソールまたは AWSCLIを使用して CodeCommit リポジトリを作成します。手順については、 CodeCommit 「リポジトリの作成」を参照してください。

DevOps エンジニア

コンテンツを CodeCommit リポジトリにプッシュします。

リポジトリを作成したら、Git コマンドを使用してリポジトリにコンテンツを追加します。既存の Git リポジトリのコンテンツ、またはローカルのバージョン管理されていないコンテンツをコンピューターから移行できます。手順については、「リポジトリにファイルを追加する」または「 に移行するAWS CodeCommit」を参照してください。

DevOps エンジニア
タスク説明必要なスキル

SNS トピックを作成します。

このSNSトピックでは、 からイベントを受け取ります CodeCommit。手順については、「Amazon SNSトピックの作成」を参照してください。

クラウドアーキテクト、 DevOps エンジニア

カスタムアクション用のリソースを作成します。

カスタムアクションを実行するには、対応するリソースを作成する必要があります。例えば、カスタムアクションが Lambda コードを実行してSQSキューにメッセージを送信する場合は、Lambda 関数とSQSキューを作成する必要があります。E メールやSMS通知などのアクションにはリソースは必要ありません。詳細については、作成するリソースタイプのAWSドキュメントを参照してください。

クラウドアーキテクト、 DevOps エンジニア

カスタムアクションリソースをSNSトピックにサブスクライブします。

カスタムアクションに応じて、適切なプロトコルのサブスクリプションを作成します。例えば、E メール通知の E メールアドレス、カスタムコードを実行する Lambda 関数、Amazon にイベントを送信するSQSキューをサブスクライブしますSQS。E メールや などのサブスクリプションプロトコルではSMS、E メールまたは電話番号にそれぞれ送信されるリンクからサブスクリプションを確認する必要があります。手順については、「Amazon SNSトピックのサブスクライブ」を参照してください。

クラウドアーキテクト、 DevOps エンジニア
タスク説明必要なスキル

CodeCommit リポジトリの通知ルールを作成します。

通知ルールを作成するときは、通知を開始する Git イベントを選択し、SNSトピックをターゲットタイプとして選択してから、前に作成したSNSトピックを選択します。複数のデータリポジトリへのリンクを設定することもできます。手順については、通知ルールの作成 を参照してください。

DevOps エンジニア

カスタムアクションをテストします。

通知を開始するように設定されたイベントのいずれかを実行します。たとえば、プルリクエストをトリガーとして選択した場合は、プルリクエストを作成します。カスタムアクションが実行されているはずです。例えば、SNSトピックに E メールアドレスをサブスクライブした場合、E メール通知を受け取る必要があります。

DevOps エンジニア

関連リソース