CircleCI2.0でデプロイ成功時にSlack通知する
CircleCI2.0(以下,CircleCI)を利用して、デプロイが成功した時、Slackに通知が飛ぶようにしてみました。
CircleCIを利用したデプロイは前回の記事で書いたので、今回の記事ではSlack通知の部分を記述しています。
SlackのWebHook URL取得
Slackでワークスペースを作成。
https://slack.com/
デプロイ通知を送るチャンネルを作成。今回は#リリースを利用します。
以下サイトにアクセスして通知に必要なWebHook URLを取得します。
https://slack.com/services/new/incoming-webhook
チャンネルを指定して、「Add Incoming WebHooks integration」を押下するとWebHook URLが表示されます。
後で利用するため、コピーしておいてください。
CircleCIの環境変数にWebHook URLを設定
CircleCIの左メニューにあるSETTING->Projects一覧にある利用するプロジェクトの歯車ボタンを押下します。
Environment VariablesページでAdd Variableボタンを押下し、先程取得したWebHook URLを環境変数として設定します。
SLACK_WEB_HOOK : https://hooks.slack.com/services/xxxxxxxx (WebHook URL)
CircleCIの設定ファイルにSlack通知処理記述
設定ファイルのconfig.ymlに以下を記述します。
username, text, icon_emojiはご自由に変更ください。
curl -X POST --data-urlencode "payload={\"username\": \"circleCI\",\"text\": \"masterをデプロイしました。\", \"icon_emoji\": \":ghost:\" }" "${SLACK_WEB_HOOK}"
config.yml
通知結果
デプロイに成功すると、Slackの#リリースにこのように通知がきます。
まとめ
CircleCIでデプロイ成功時にSlack通知を行いました。
今回はWebHook URLを環境変数に設定してconfig.ymlにSlack通知を行う処理を書きました。
別のやり方で、CircleCIのChatroom IntegrationsにあるSlack項目にWebHook URLを登録する方法でもSlack通知ができるみたいです。