Travis CI が便利
クラウド Jenkins 氏な感じの Travis CI がとても便利。
what is Travis CI
GitHub のリポジトリをビルドして結果を通知してくれるWebサービス。Perl プロジェクト対応。
使ってみる
Baya で試してみます。
- リポジトリのルートに
.travis.yml
というファイルを用意します
language: perl
perl:
- "5.14"
- "5.12"
- "5.10"
notifications:
irc:
channels:
- "irc.freenode.net#baya"
on_success: change
on_failure: always
ビルドする perl 環境の設定と、通知をどこにどのタイミングでするかを書いてあります。このあたりに詳しく 載ってます。
- GitHub で travis-ci との連携を ON にします
プロジェクトの [admin] から [Service Hooks] とすすみ、TRAVIS を選んで Token など入力して確定。
- TRAVIS 上 の Hook を on にします
アカウントのメニューにある [Profile] を選んで、プロジェクトの横にあるスイッチをクリックして on に切り替えます。
いちいち書いたけど、ここに 他言語での設定ふくめて書いてあります!
Travisサーバの環境周りは ここに詳しく書かれてます。
結果
見事にこけたw
23:35:26 <travis-ci> [travis-ci] bayashi/Baya#1 (master - 9ccf28a : bayashi): The build failed.
23:35:26 <travis-ci> [travis-ci] Change view : https://github.com/bayashi/Baya/compare/d3b0b2d...9ccf28a
23:35:26 <travis-ci> [travis-ci] Build details : http://travis-ci.org/bayashi/Baya/builds/765765
依存モジュールがきちんと書けてなかったので直して push
23:45:58 <CIA-27> Baya: bayashi master * ra351d41 / Build.PL : fixed dependency - http://git.io/TIyaCQ
23:52:45 <travis-ci> [travis-ci] bayashi/Baya#2 (master - a351d41 : bayashi): The build was fixed.
23:52:45 <travis-ci> [travis-ci] Change view : https://github.com/bayashi/Baya/compare/9ccf28a...a351d41
23:52:45 <travis-ci> [travis-ci] Build details : http://travis-ci.org/bayashi/Baya/builds/765847
通ったーーーーーーーーーーーーーー!!
Travis CI の良いとこ
- CI サーバの運用をまるっとお任せできる
- 設定が簡単
- GitHub アカウントで使える
- 複数の Perl 環境でビルドしてくれる
- 無料
オープンプロジェクトでは使って損はないものと思われます!
* どうでもいいけど、Travis CI のサイトは CSS がモダンすぎるのかしらんが firefox 3.X とかだとヘッダしか表示されなくてびびる。