2012/03/04

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 とかだとヘッダしか表示されなくてびびる。

サイト内検索