- TravisCIなどのCIサービスを使ってgemの品質を高める試みです
- バッチが沢山ゲット出来てなんかカッコいい気がします!(気のせいです)
利用するサービス
サービス | 説明 |
---|---|
TravisCI | 言わずと知れた老舗CIサービス |
CodeClimate | コードの品質チェック |
Coveralls | テストカバレッジ計測 |
Gemnasium | 使用しているgemの更新情報を教えてくれる、脆弱性があればわかる(こともありそう) |
導入
- 基本的にはどれもgithubアカウントでサインアップしてリポジトリを登録するだけです
- CodeClimateはサインアップ不要です
- バッジはそれぞれのサービスの各リポジトリの画面あるいはその設定画面にあるのでREADMEのフォーマットにあったものを取得してください
TravisCI
- OSS(publicなリポジトリ)なら無料で始められます
- TravisCIの準備
- 右上の Sign in with Github からサインインします
- あとはCIを始めたいリポジトリを選択すればTravisCI側でやることは完了です
- バッジはリポジトリの画面にあります
- リポジトリ側の準備
- .travis.ymlを用意する必要があります
- これについては他に沢山書かれていると思うので割愛しますが、gemの場合はrvmで複数バージョンのrubyで実行するようにすると良いと思われます
- 公式はこちらです
- .travis.ymlを用意する必要があります
CodeClimate
- OSSなら無料で始められます、この場合サインアップは不要です
- Pricing の下の方に Add your Open Source GitHub repo. があるので、そこからリポジトリを登録します
- バッジはリポジトリの画面にあります
Coveralls
- こちらもOSSならば無料です
- Coverallsの準備
- トップページの中程に目立つSIGN UP NOW からサインアップします
- あとは他と同様にリポジトリを選択するだけです
- バッジはリポジトリの画面にあります
- リポジトリ側の設定
- Coverallsでリポジトリを追加すると以下の様なメッセージが表示されるはずです、それに従いgemのインストールとspec_helper.rbなどへ変更を加えます
- 変更をpushすれば、TravisCIでジョブが実行されるとCoverallsが更新されるはずです(反映までは多少時間がかかるようです)
require 'coveralls'
Coveralls.wear!
# Your code here.
- ただし、ここに書かれている通りにやるとローカルでテストを実行した時にはSimpleCovのような結果は得られません
- http://blog.ruedap.com/2013/09/02/travis-ci-coveralls-code-climate-github-badge にあるようにすることで対応可能です
Gemnasium
サービスについてはこちらで詳しく紹介されています
- OSS以外でもある程度は無料で始められます
- 詳しくは Plans & pricing を御覧ください
- 右上のSIGN UPからサインアップします
- 他と同様にリポジトリの設定をすれば設定は完了です
- バッジはリポジトリの設定画面のBadgeタブから確認できます
- CUIツールの Toolbelt を使うことで他のCIツールとの連携もできそうで夢が広がります、これはまた機会があれば