- http://razokulover.hateblo.jp/entry/2014/05/21/000306
- http://morizyun.github.io/blog/wercker-ci-rspec-capistrano-deploy-auto/
ここを参考にやる
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
でファイル作って自分のリポジトリにpushAwesome! 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側の設定
Integration
のIncoming 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
所感
簡単にいろいろ出来て便利だったー