Amazon Web Services ブログ

【新機能】AWS CodeCommit の通知

AWS CodeCommit は、セキュアで高度にスケーラブルなプライベート Git リポジトリを容易にホストできるフルマネージドなソース管理サービスです。今回リポジトリ トリガーを追加することで CodeCommit はさらに有用なサービスになりました。これらのトリガーを利用することで、既にあるユニット テストやデプロイメント ツールをソースコード管理ワークフローに統合することができます。トリガーは効率的でスケーラブルなので、変更をポーリングするように構築されたモデルよりもより広範囲に適用可能です。継続的インテグレーション継続的デリバリをベースとした開発方法論に向かって進むために、これらのトリガーが有用であることがお分かり頂けると思います。

 

通知に関するすべて

CodeCommit のリポジトリごとに10個までのトリガーを作成することができます。トリガーはコードのプッシュ、ブランチ/タグの作成、ブランチ/タグの削除を含むリポジトリのアクションに対する応答として起動されます。トリガーはリポジトリの特定のブランチやすべてのブランチに対してセットできます。

トリガーによって Amazon Simple Notification Service (SNS) トピックの送信や AWS Lambda ファンクションの起動が可能です。また個々のトリガーはカスタム データで拡張することが可能で、そのデータによって特定のトリガーを同じイベントで実行される他のトリガーと区別することができます。リポジトリ イベントを email や SNS によって購買するためにトリガーを利用することができます。SNS から SQS へ書き込み、キューを通じて CI/CD のツールにジョブを上げたり、お使いのツールが提供する webhook に対して SNS を使ってアクティベートしたりできます。どのようなケースでも、CodeCommit リポジトリの変更によって指定したアクションがトリガーされます。また Lambda ファンクションを利用してビルド、シンタックスのチェック、コードの複雑度メトリックスの捕捉、開発者の生産性の測定(もちろん少ないほうがいいですね)などをトリガーできます。私の同僚もこの記事の最後にあるような、いくつかの珍しいアイデアを思いつきました!

トリガーは AWS マネジメント コンソールAWS コマンドライン インターフェース(CLI)、または CodeCommit API を通じて作成、表示、管理することができます。ここではコンソールを使います。左側のナビゲージョン列に Triggers の項目が追加されています:

Create Trigger をクリックして開始します。単一のイベント(または複数のイベント)を選択し、単一のブランチ(または複数のブランチ)を選択し、通知の発行や Lambda ファンクションの起動に必要な詳細を入力します:

対象となるイベントとブランチを選択しました:

そして、SNS トピックまたは Lambda ファンクションを指定し(適切なパーミッションが指定されていることを確認したのち)、期待通りにすべてが動作することを確認するために Test Trigger を利用し、Create ボタンをクリックします。

期待通りに IAM のパーミッションが動作することを検証するために Test Trigger を利用できます。例えばここでは、わざとエラーを発生させています:

 

ドキュメントにある「AWS CodeCommit はどのようにファンクションを実行するのか」を読んで、この問題を解決しました!

 

すでに利用可能です

この新しい機能はすでに利用可能で、すぐに使い始めることができます。より詳しく学ぶために Managing Triggers for an AWS CodeCommit Repository をお読みください。

私の同僚の Claire Liguori が CI/CD プロセスとの通常の統合を超えた、CodeCommit トリガーの創造的な用途についていくつか提案しています:

  • ビデオの展開 – 新しいビデオ、または既存のビデオの新しいバージョンがコミットされたかどうかをLambda ファンクションでチェックし、更新が発生したらビデオを YouTube に展開する
  • パーティータイム – 新しいリリースをデプロイした時に、自動的にケータリングを実行する(サンドイッチピザビール のAPIを利用して)
  • 広告リリース – 新しいリリースの準備ができたら、Facebook ページを自動的に生成、実行し、ソーシャル メディアにリリース情報を公表する

 皆様が開発プロセスでこれらのトリガーを利用し、創造的な方法編み出されることを耳にするのを楽しみにしています。ぜひコメントを残して、私にお知らせください!

Jeff;

 

日本語翻訳はSA 福井が担当しました。原文はこちらです: https://thinkwithwp.com/jp/blogs/aws/new-notifications-for-aws-codecommit/