tyoshikawa1106のブログ

- Force.com Developer Blog -

Rails:Travis CIを試してみました

Travis CIはGitHubにpushしたタイミングで自動テストが実行できるWebサービスです。publicリポジトリに対してなら無料で利用できるみたいです。便利そうだったのでちょっと試してみました。

Travis CI - Test and Deploy Your Code with Confidence


最初に利用時の手順だけまとめておきます。必要なのは以下の4つです。

  • Travis Sign up
  • Travisの設定画面でテスト実行対象を選択
  • Railsアプリのリポジトリに『.travis.yml』ファイルを追加
  • git pushを実行

使い方を覚えてしまえばすごく簡単に利用できます。

Sign up

Sign upはGitHubアカウントを使って行います。
f:id:tyoshikawa1106:20150905225641p:plain


認証画面でOKすればログインできました。
f:id:tyoshikawa1106:20150905225721p:plain


ログイン後の画面はこんな感じです。
f:id:tyoshikawa1106:20150905230507p:plain


Getting Startedボタンをクリックするとチュートリアルページを表示できます。
f:id:tyoshikawa1106:20150905231127p:plain


サポート言語は複数あります。Rubyも用意されていました。
f:id:tyoshikawa1106:20150905231248p:plain


チュートリアルはヘッダーメニューのHelpのDocsからも表示できました。
f:id:tyoshikawa1106:20150906012021p:plain:w300

.travis.ymlの準備

Travis CIを利用するにはリポジトリに.travis.ymlファイルを用意する必要があります。

language: ruby
rvm:
  - 2.0.0-p265

対象リポジトリを選択

ヘッダーメニューのAccountを選択すると選択画面が表示されます。
f:id:tyoshikawa1106:20150906012459p:plain


ここで有効化すると自動テストが実行されるようになると思います。
f:id:tyoshikawa1106:20150906012534p:plain

Git pushして自動テストの実行確認

Git push前にテストが正常に実行されている状態になっていることを確認しておきます。
f:id:tyoshikawa1106:20150906012939p:plain


Git pushを実行します。
f:id:tyoshikawa1106:20150906013214p:plain


Travis CIのページに戻りテストが実行されたか確認してみたところ、ひとまず無事にテストが実行されていました。
f:id:tyoshikawa1106:20150906013513p:plain


テストは実行されていましたが、本来でないはずのエラーが発生していました。理由を確認してみると次のエラーメッセージが表示されていました。

ruby-2.0.0-p265 is not installed - installing.


確認してみると対象のRubyバージョンの指定を間違えていました。
f:id:tyoshikawa1106:20150906013929p:plain


travis.ymlのファイルを修正してもう一度、試してみます。
f:id:tyoshikawa1106:20150906014032p:plain

f:id:tyoshikawa1106:20150906014125p:plain

f:id:tyoshikawa1106:20150906014159p:plain


まだ同様のエラーが発生しました。。
f:id:tyoshikawa1106:20150906014552p:plain


バージョン指定は間違えていないのでなんでだろう...と悩んでたのですが、-p645という指定が不要でした。
f:id:tyoshikawa1106:20150906020207p:plain


そこを修正して確認してみると今度は無事にテストが正常実行されました。
f:id:tyoshikawa1106:20150906020303p:plain


最初にターミナルから『bundle exec rspec spec/』コマンドを実行したときと同じく40のテストがきちんと通っています。
f:id:tyoshikawa1106:20150906020500p:plain


いろいろわかっていなくて少しハマってしまいしたが、基本的にはtravis.ymlファイルを用意してgit pushするだけで、何かをインストールしたりする必要もなく簡単に利用することができました。


今回は導入しただけですが、Travis CIでは任意のテスト内容を記載して実行するなど他にも便利な使い方ができるみたいです。気が向いたらまた調べてみようと思います。