本日 9/12(土) に isucon10 の予選に参加をしました。
最近のisuconはdiscordを連絡手段に使われることが多いので、チームのコミュニケーションも discord に今回は集約をしました。
そんな中やっぱり deploy の notification も slackじゃなく discord で受けたいなーと思い、botとか作れないのかなと調べたんですが、
すごく簡単にできたので、備忘録がてら残しておきます。
discord で Webhook を作成する
- discord の サーバの設定を開く
- メニューにある「連携サービス」を押下する
- 「新しいウェブフック」ボタンを押下する
- 名前とアイコンを適当に設定をし、発言させたいチャンネルを選ぶ (ここでは #deploy を選択をしてます)
- 「ウェブフックURLをコピー」ボタンを押下する
curl で メッセージを送ってみる
curl -H "Content-Type: application/json" -X POST -d '{"username": "bot", "content": "@everyone デプロイできたで〜\(^o^)/"}' <<上記でコピーしたウェブフックURL>>
以上でメッセージを送る事ができる。かんたん。
今回は以下のような簡易的なスクリプトを書いてデプロイをしていました。
# ! /bin/bash -x
notify_discord () {
curl -H "Content-Type: application/json" -X POST -d '{"username": "bot", "content": "@everyone デプロイできたで〜\(^o^)/"}' <<上記でコピーしたウェブフックURL>>
}
echo "start deploy ${USER}"
ssh isucon-server-1 "cd isuumo/webapp; git pull"
ssh isucon-server-2 "cd isuumo/webapp; git pull"
ssh isucon-server-3 "cd isuumo/webapp; git pull"
echo "finish deploy ${USER}"
notify_discord