- http://razokulover.hateblo.jp/entry/2014/05/21/000306
- http://morizyun.github.io/blog/wercker-ci-rspec-capistrano-deploy-auto/
ここを参考にやる
wercker上での作業
1. ユーザ登録
ここからやる。
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に通知する
これが便利そうなのでこれを使う
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
所感
簡単にいろいろ出来て便利だったー