はじめに
AWS CodePipelineではPipelineの途中に「手動承認」のアクションを定義できます。
[ Build ]
↓
[ Beta環境にデプロイ ]
↓
(Beta環境で動作確認)
↓
[ 手動承認 ]
↓
[ Production環境にデプロイ ]
手動承認はManagementConsoleの以下のような画面でコメントとともに承認または拒否します。
Codepipelineでは手動承認が必要になったタイミングでAmazon Simple Notification Service(SNS)を経由して通知することができます。
本記事では、この通知先をMicrosoft Teamsの任意のチャネルに設定してみます。
Teamsのチャネルへの通知方法2種類
チャネルへの通知方法は2つあります。一つはメールを使用する方法。もう一つはコネクタを使用する方法です。
本記事では、とても簡単な「メールを使用する方法」を書きます。「コネクタを使用する方法」は別記事で書きます。
前提条件
CodePipelineとSNS Topicが作成済みで手動承認の通知先にSNS Topicが設定済みであること。
Teamsが利用可能であること。
設定方法
Teamsで通知先チャネルのメールアドレスを取得
Teams上で、通知したいチャネルのメールアドレスを取得します。
SNS TopicにSubscriptionを作成
AWSのManagementConsoleのSNSからTopis
-> (CodePipelineの通知先Topic)
-> Create subscription
を選択します。
Protocolに”Email”を選択し、Endpointにチャネルのメールアドレスを設定します。
Confirmする
Subscriptionを作成すると、Teamsの指定したチャネルにメッセージが届きます。
メッセージ中の”Confirm Subscription”リンクをクリックすると、以下のページがブラウザで表示され、通知が届くようになります。
CodePipelineを実行する
CodePipelineを実行し、手動承認待ちの状態になると、Teamsにメッセージが届きます。
これで十分通知の役割は果たしているのですが、Teams上の見た目をもう少しいい感じにするために、Lambda経由での通知を次の記事では書きます。