2014.07.15
wolfgang

deployするときにslackにメッセージを送信する

ども、さえきです。

うちのチームではslackを使ってまして、Deployするときにメッセージを送れると便利だなーと思って現在テスト中。
とりあえずできたのでやり方をメモっておこうかと思います。

前提としてcapistranoでDeployしてます。

1. SlackのIncoming WebHooksを設定する

https://<subdomain>.slack.com/services/new/incoming-webhook からIncoming WebHooksを有効にする。
(<subdomain>は自分のに変更してください)
その時にtokenを控えておく。

2. capistrano-slackをインストールする

今回はcapistrano-slackを使いました。

capistrano-slack
https://github.com/nextupdate/capistrano-slack

インストール方法は公式通り

[code language=”bash”]
$ vim Gemfile
gem ‘capistrano-slack’, :git => ‘https://github.com/nextupdate/capistrano-slack.git’

$ bundle install
[/code]

3. capistranoに設定する

設定もほぼ公式通りにやりました。

[code language=”ruby”]
$ vim config/deploy.rb

# capistrano slack
require ‘capistrano/slack’
set :slack_token, "<token>" # 先ほど控えたtoken
set :slack_room, "#general"
set :slack_subdomain, "<subdomain>" # 自分のsubdomain

set :slack_username, "Deploy Bot" # 表示される名前
set :slack_emoji, ":cloud:" # アイコン
[/code]

実際のdeployした時のメッセージは以下のような感じ。アイコンも雲になってます。
黒塗り多いですが、実際はcapistranoのenvironment名やbranch名が表示されてます。

slack

今後はいろいろとslackさんに頑張ってもらう!