ハウテレビジョン開発者ブログ

『外資就活ドットコム』を日夜開発している技術陣がプログラミングネタ・業務改善ネタ・よしなしごとについて記していきます。

Capistranoによるデプロイの実行時にSlack通知する方法

2児の父、@artifactsauceです。愛の重さに潰されそうな毎日です。

Slack便利ですよね。ハウテレビジョンではSlack導入してから、あらゆるコミュニケーションを集約化しています。例えば弊社ではデプロイツールとしてCapistranoを使っており、Capistranoによるデプロイの実行時にSlackに通知が出されるようにしています。デプロイのタイミングはチームに共有されるべき情報の一つですね

Capistranoにはデフォルトのデプロイ実行プロセス deploy が用意されていますが、これに従っているならば、いくらかの記述を加えるだけで、簡単にSlackへの通知ができるようになります。具体的には config/deploy.rb に、下記の記述を追記してください。<CHANGE_THIS>はご自分の環境に合わせて変更してください。ユーザー名やメッセージなどは任意に変更できますので、楽しい通知を工夫してみてください。

Notification tasks for Slack with Capistrano.

デプロイが実行されるとまず始まったことが投稿され、完了すると完了した旨とコミットメッセージが投稿されます。結果的には下のように表示されます。

f:id:artifactsauce:20140904122010p:plain

最後のコミットメッセージは地味に重要です。簡単な内容ですが、これがあるのと無いのとでは安心感が大きく違います。Merge branch ...では内容がわからない?それは説明的なブランチ名になっていないということです。改善すべきはブランチ名の付け方です。

どの変更がいつ本番環境に反映されたのかを誰でも見られるようにすることは、無駄なコミュニケーションコストの削減と有用なコミュニケーションの活発化を招く、非常に有効な手段です。

参考になれば幸いです。