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