Travis CI + GitHubを利用した継続的インテグレーション

( CI )

最近自分が以前から運営しているサービスが大夫古くなってきていたのでリニューアルをこころみようと思いまして、

PHPからRuby+Rails+S3へ移行している途中なのですが、開発はテスト駆動で行こうと思いまして思考錯誤しています。

本当だったら社内のようにCIサーバ作成してプッシュと同時にテストが勝手に始まって終わったらIRCで通知してテスト

環境にデプロイしてくれたら良いんですが、まぁそこまで個人でするの贅沢きわまりないとおもって軽くCIできるもの

ないかなと思いまして、そんなか見つけたのが「Travis CI - http://travis-ci.org/ 」というサービスです。

A hosted continuous integration service for the open source community.

(翻訳) オープンソースコミュニティのための継続インテグレーションサービス

早速、設定してみました。 とりあえず、ユーザ登録します。 だいたいここをみてやればできるはずです。。

language: ruby
rvm:
  - 1.9.3
  - 1.9.2

gemfile:
  - Gemfile

env:
- DB=mysql

before_script:
 - mysql -e 'create database frustration_test;'

script: 
  - RAILS_ENV=test bundle exec rake --trace db:migrate
  - bundle exec rake db:test:prepare
  - bundle exec rspec spec/

これでなにかプッシュしたら各言語のバージョンをそれぞれ自動的にテストしちゃってくれます。 テストが正常に終了すると緑(この間いろいろうまくいかなくてやっとうまくいきまた。。。)になってお知らせしてくれます。

あと、良かったのはPull Requestを送信したときにtravisbotが介入(この表現はおかしいかもしれない)してきて自動でそのソースが 問題無いかテストしてくれます。今回は失敗してますがこんな具合にはテスト結果を表記してくれます。これなら安心してマージできるって もんですね!!!

Travis-CI_GitHub

□参照URL

http://travis-ci.org/

https://github.com/