Werckerに登録したアプリケーションのBuild結果をSlackのwebHookという機能を使うことで、Slackに通知することができるようになります。
SlackにWebHookを追加する
サイドメニューの Configure Integrations を押下してください。
Incoming WebHooks
を追加してください。どのチャンネルに追加するか選択してください。
URLをコピーし、
Save Settings
を押下します。
WerckerにSlackのTOKENを設定する
先ほどコピーしたURLの一番後ろについているパラーメータがSLACK_TOKENになります。
https://hooks.slack.com/services/aaaaa/bbbbb/[SLACK-TOKEN]
SLACK_TOKEN
はProtected
にチェックした状態でSAVEしてください。Protected
をチェックすると、ログ上で値が非表示になります。
wercker.ymlにafter-steps
を追加
Build後(build: after-steps)に、Slackに通知するようwercker.ymlを設定します。subdomain
はSlackのURLhttp://hoge.slack.com
のhoge
の部分にあたります。
box: wercker/ruby
services:
- wercker/postgresql
build:
steps:
- bundle-install
- rails-database-yml:
service: postgresql
- script:
name: echo ruby information
code: |
echo “ruby version $(ruby –version) running!”
echo “from location $(which ruby)”
echo -p “gem list: $(gem list)”
- script:
name: Set up db
code: RAILS_ENV=test bundle exec rake db:schema:load
- script:
name: Run RSpec
code: bundle exec rspec
# ここから追加 ——————————
after-steps:
- sherzberg/slack-notify:
subdomain: hoge
token: $SLACK_TOKEN
channel: “#general”
username: wercker
icon_url: https://avatars3.githubusercontent.com/u/1695193?s=140
# ここまで————————————
deploy:
steps:
- heroku-deploy:
install-toolbelt: true
- script:
name: Update database
code: heroku run rake db:migrate –app $APP_NAME
- script:
name: Update assets
code: heroku run rake add_static_assets –app $APP_NAME
wercker.yml を更新したのでgit push
してください。
正しく設定できれていれば、下記のようなメッセージがSlackに通知されます。