travisでgithubのプロジェクトのテストを自動化する

travisをgithubで使ってみました。
最近gem-searchというgemを作ってみたのを機に
試しにやってみました。

how to use

travisは、rvmを利用して

$ bundle exec rake

を実行しています。


ですので、rake taskの登録が必要です。
Rakefile

#!/usr/bin/env rake
require "bundler/gem_tasks"

task :default => [:spec]
begin
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec) do |spec|
    spec.pattern = 'spec/**/*_spec.rb'
    spec.rspec_opts = ['-cfs']
  end
rescue LoadError => e
end


bundleを使ったgem作成でチョイハマリ - komagata
また、実行してみるとエラーになるので分かるのですが
rake, rdocが必要なのでgemspecに書いてあげる必要があります。

  gem.add_development_dependency 'rake', '~> 0.9.2.2'
  gem.add_development_dependency 'rdoc', '~> 3.12'

ビルド結果

ビルドはgithubにpushした際に実行されるようです。
こんな感じで、テストの実行内容が見れます。
Travis CI - Distributed build platform for the open source community


テスト結果をgithubのページ記載する

README.mdの場合、下記のように書くと

[![Build Status](https://secure.travis-ci.org/rochefort/gem-search.png)](http://travis-ci.org/rochefort/gem-search)


こんな感じで表示されます。

感想

簡単に使えていいです。
CI環境を別途作成する必要がなく、
rubyのバージョンを指定して実行できたりするので
規模がでかくなったりすると、かなり使えるんじゃ無いでしょうか。
(規模がでかくなったときのテスト時間とかは、検証する必要があるかもしれませんが)