Posted at

bitbucketとwerckerでhubotをherokuに自動deployしてslackに通知する

More than 3 years have passed since last update.

ここを参考にやる


wercker上での作業


1. ユーザ登録

https://app.wercker.com/sessions/new

ここからやる。

Sign upするとメールが送られてくるのでリンクをクリックすると、ログイン出来る。


2. アプリケーション登録



  • Add an applicationをクリックする


  • Choose a Git provideでBitbucketを選択して認証する


  • Select a repositoryでCIしたいリポジトリを選択


  • Configure accessでrecommendedされているAdd the deploy key to the selected repository for meを選択


  • Setup your wercker.ymlでファイル作って自分のリポジトリにpush


  • Awesome! you are all done!になるのでFinish!Make my app public


3. Settings→DEPLOY TARGETSでdeployの設定


  • Add deploy targetで追加

  • herokuを選ぶ

  • Deploy target nameはお好みで。 productionとかかな

  • Auto deployにチェックを入れる。ブランチはmaster

  • Herokuのapi keyとかdeployするHeroku app nameとか。英語を読めば簡単に登録出来る。

だいぶメモが雑になって来た


Bitbucket上での作業


  • さっき作成したwercker.ymlを追加するだけでいいはず。

  • これでmasterにMergeすると自動deployされる。。はず。

  • Deployの履歴は、werckerのDeploysで確認出来る。

雑なメモだ

ここまでやれば、masterにMergeされたりpushされると自動deployされる環境は整う。


Deployしたらslackに通知する

https://github.com/wantedly/step-pretty-slack-notify

これが便利そうなのでこれを使う


1. slack側の設定



  • IntegrationIncoming WebHooksを追加してWebhook URLを得る


2. wercker側の設定



  • SLACK_WEBHOOK_URLという環境変数を設定する

  • Settings→PIPELINE→Add new variableでSLACK_WEBHOOK_URLとslack側で取得したWebhook URLを設定する


3. wercker.ymlを変更する

以下のような感じにした。

hubotをdeployするだけなので、いろいろけずった。

もっと削れるのかな。この辺の書き方がよくわからなくて、何度も失敗した。

box: wercker/nodejs

build:
steps:
- script:
name: echo hubot build
code: |
echo "hubot build"
after-steps:
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
deploy:
steps:
- heroku-deploy
after-steps:
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL


所感

簡単にいろいろ出来て便利だったー