読者です 読者をやめる 読者になる 読者になる

あざらし備忘録。

渋谷ではたらく音ゲー大好きウェッブエンジニアがいろいろ思った事やった事を書いていくブログです

TravisCIを使ってRubyプロダクトをCIしてみた[TravisCI][Ruby][Rspec][Github]

年内最後の記事の予感w

今回はずっと名前だけは知っていたのですが手はつけずだったTravisCIを触ってみたのでメモ。

結論から言うと超絶楽ちんにCIできたのでpublicなプロダクトでは積極的に使っていこうと思いましたwすごい楽w

今回はCIについては説明は省きます〜。おググりくださればと思いますmm

Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community

デザインもとてもシンプルで綺麗です:)

インストール

...そんなものはなかった←

強いて言えばプロダクトに.travis.ymlというファイルを設置するくらいです。 あとはcliなgemもあるので必要に応じて入れれば使えますがなしでもOKです。

使えるようにするまでの数ステップ

Githubリポジトリをpush

GithubにCI対象のリポジトリを作成/pushしておきます。

ちなみにpublicならばTravis CIの使用は無料、privateだと有料になる課金形態です。

Travis CIにログイン

TravisCIにログインです。新規登録なんてないです。カジュアル。

Githubのアカウントでのログインを行えば終了です!

f:id:shiro_goma:20141228011527p:plain

CI対象のリポジトリを選択

Githubのアカウントを用いたログインを行ったので、TravisCIとGithubが紐付きました。

ここからCIする対象のリポジトリを選んでいきます。 デフォルトは全てのリポジトリのCI設定はoff(CIしない)になっています。

右上の自分のアイコンから、"accounts"メニューを選択します。

f:id:shiro_goma:20141228011520p:plain

そうすると、次のようなページに遷移します。

f:id:shiro_goma:20141228011807p:plain

ここに自分のGithubリポジトリが一覧となって表示されているので、CIしたいリポジトリを選択していきます。

f:id:shiro_goma:20141228011504p:plain

今回は僕は"travis_sample"リポジトリのみを有効にしました。

これで画面的な設定はおしまいです!本当に短い!

対象のリポジトリに設定ファイルを置く

対象のリポジトリのプロダクトルートに、.travis.ymlというファイルをおきます。

今回は言語はRuby、テストライブラリはRspecを使用しているので、以下の様な設定ファイルを準備しました。

language: ruby
rvm:
  - 2.2.0
script: bundle exec rspec
gemfile:
  - Gemfile

このあたりの記述方法は、サイト内のDocsに載っているので参考にしてください。

Travis CI: Travis CI Documentation

設定ファイルの検証を行うこともできますので活用してみてください。

Travis CI: Validate your .travis.yml

これで設定自体はおしまいです!

これだけでリポジトリにpushされる度に自動的にテストが走り結果がTravisCI上で確認できたり通知が来たりするようになりました!超簡単!

TravisCI上からCI状況を確認する

ここまでやってきた設定だけでいろいろな情報が確認可能です。

最新のビルド状況や、

f:id:shiro_goma:20141228011453p:plain

全体のビルド履歴、

f:id:shiro_goma:20141228011413p:plain

Pull Requestごとのビルド履歴、

f:id:shiro_goma:20141228011429p:plain

ブランチごとのビルド履歴、

f:id:shiro_goma:20141228011443p:plain

といったような情報がコミットがpushされたりPull Requestが発行されたりと各フックポイントに触れる度にビルドを勝手にしてくれます。

もちろん設定に応じてmasterブランチだけCIを有効にすることも可能です。

READMEでよくみるあいつを表示する

f:id:shiro_goma:20141228013549p:plain

こいつですね。これもTravis CIによるものです。超簡単に出せます。

f:id:shiro_goma:20141228013818p:plain

f:id:shiro_goma:20141228013843p:plain

このフォーム内の文字列をREADME.mdに記述するだけ。

# TravisCIによるビルド状況

[![Build Status](https://travis-ci.org/gomachan46/travis_sample.svg?branch=master)](https://travis-ci.org/gomachan46/travis_sample)

おしまい。

今回は使っていませんが以下のツールを使うとテストのカバレッジを出すことも可能です。

Coveralls - Test Coverage History & Statistics

まとめ

とりあえずこの記事を書く時間の方が数倍長いくらいには導入が簡単でした!本当素晴らしいです。

積極的に使っていこうと思えるツールでした:)