Jenkinsオジサンからの卒業その4(werckerを試してみた)
Wercker
git push からのビルドとデプロイを自動化することを目的に作られたサービス。ビルドの後続処理をPipelineで繋いでいけるのが醍醐味らしい。
使い方
- アカウントの作成は、独自アカウント作成 or GitHub連携で可能
- 自動ビルドさせたいリポジトリを選択する
- 対象リポジトリの設定を幾つかやる
- deploy key の自動登録を任せるのが一番楽
- 対象リポジトリのルートに
wercker.yml
を配置する - ということで、Java ビルドがしたければ、ボックスの指定を
box: java:8
とかにするべし- Gradleを使いたい場合は、gradlew 一式をリポジトリにcommitすること推奨
- ビルドコマンドはこんな感じ
- Gradleを使いたい場合は、gradlew 一式をリポジトリにcommitすること推奨
steps: - script: name: gradlew code: | ./gradlew - script: name: gradle build and test code: | ./gradlew check
色々と試行錯誤をしましたが、結果的にはちゃんとビルドできました☆
自動ビルドのトリガー
- Push
- default branch 以外のPushもブランチを区別してビルド結果を残してくれる
- GitHub上のPRとも連携してくれる
- ビルドがとおったPR(commit)か?が確認できて便利
ビルド結果
- build badge のURLを提供
- 過去数回分のビルド結果がRed/Greenの色分けで見れて、コードの安定度の目安にできるかも
- ビルド成果物(Artifacts)の保存
- できるのかもしれないけど、方法わからず
- Mail通知
- Slack通知
after-steps:
として slack notification を指定- Slack側に incoming webhook を導入することで生成されるWebHookのURLを環境変数で設定してあげれば、通知が可能になる
初めはヒントが少なくて戸惑いましたが、UIもイケてるし、多重度2まではFreeで使えるし、リポジトリ&開発者は無制限な模様。なかなか良い感じなのではないかと。
その他
- 内部的にはコンテナ上でビルドが走る
- 各ステップの詳細ログが見れる
- UIはいい感じに今風
- そういえば、醍醐味である自動デプロイや、Pipeline設定は試していなかった...
SampleでWerckerビルドを設定してみたリポジトリはコチラ
https://github.com/shionit/sample-wercker