Nekostack

Golang, Swift, Vim, Cat, Curry, Whisky.

Wercker でのビルド・テスト完了を Pushbullet で通知する

Posted on 31 May 2015.

記事書いてなかったの思い出したので、書いておく。 個人で Slack に CI からの通知を垂れ流すのはコレジャナイカンを感じたので、 Pushbullet に垂れ流してみた話。

おさらい: bullet コマンド

数ヶ月前の話なのだけれど、bullet という、 Pushbullet 経由で、 テキスト・画像・リンクを各種デバイスにプッシュするコマンドを実装した。

その際に、社内ブログにて書いた記事がこちら。

Golang と Pushbullet で各種端末に通知をとばすコマンド書いた - アラタナエンジニアブログ

Gopher を社内のエンジニアに投げつけたいという思いもあったけど、 これ、もともと、バックグラウンドやリモートで実行中のタスクの終了通知のためにつくったのでした。

Wercker のタスク完了・失敗を Pushbullet で通知

個人で利用している CI は Wercker なので、 wercker-step-bullet-send というものを作った。

wercker.ymlafter-steps でこれを呼べば通知がとんでいく。 あとは、Wercker 側で環境変数として BULLET_ACCESS_TOKEN に Pushbullet のアクセストークンをセットしておく必要がある。

kompl/wercker.yml · mitsuse/kompl とか見るとわかりやすいかも。 builddeployafter-stepsmitsuse/bullet-send を呼び出しているので、 この場合、ビルド・テストが完了・失敗したか、デプロイが完了・失敗したかの二度通知が飛ぶ。

よいところ・わるいところ

  • よいところ: ひとり Slack、手に余る感じ (複数チャネル要らない) なので、Pushbullet くらいがちょうどよい。
  • わるいところ: Pushbullet が通知で埋まる。一定時間たったら揮発して欲しい。

ひとこと

記事書くの忘れている間に Wercker で Docker 使えるようになったため、 Classic な方法でお送りしました。