Rubicure,バッジの見本市としてのリポジトリとしても優れてる.
— か (@ka_) 2014, 7月 23
と言われたので調子に乗って Rubicure で使ってるバッジをまとめてみます。
結構たくさんあるので必要に応じて使えばいいかと。
CI系
いろいろありますが無料で使えるのはこの辺。
詳しく知りたい人用
Travis CI (Ruby以外でも使える)
githubにpushしてもTravis側でテストが開始するのが遅いため個人的に最近は使いたくないのですが、複数のrubyのバージョンやDBの種類で簡単にマトリクステスト出来るのが自分の知る限りTravis CIしかないのでTravis CI使います。
他にあったらマサカリ指摘プリーズ
Travis CIの導入は下記参照
GithubにあるリポジトリをTravis CI連携する手順 #junitbook - くりにっき
バッジはREADMEの一番上の方に貼り付けておくのが見やすいと思います。
.travis,yml
自分はこういう風にすることが多いです
language: ruby rvm: - 2.0.0 - 2.1.2 bundler_args: --jobs=2 script: bundle exec rspec branches: only: - master
- rvm : ビルドで使うrubyのバージョン
- 最近は2系サポートしてればいい気がする(1.9系準拠だとキーワード引数使えないのがつらい)
2.0
や2.1
だと 2.0.x, 2.1.x の一番新しいバージョンが使われる
- bundler_args :
bundle install
に渡されるオプション- 上の設定だと
bundle install --jobs=2
みたいに実行される --jobs
はbundler 1.5.0 rc1で追加されたオプションでbundle installを複数スレッド実行できる- nokogiriのようなnative extensionはコンパイルに時間がかかるため、なるべく時間を時間を短縮するために
--jobs
をつけてます- 普通は2回目以降のbundle installはダウンロード済のローカルにがあるので時間がかからないけど、Travis CIは毎回クリーンな環境からビルドを始めるため時間がかかる
- とは言えTravis CIのビルドで使われるインスタンスのスペックもそんなに高くない(ような気がする)ので、そんなに大きな数字は使ってないです
- 上の設定だと
- branches / only / 〜 でビルドするbranchを指定
詳しい設定とか Travis CI: Building a Ruby Project
Tips : Travis CIで複数データベースでテストする方法
Gitpeach では
のようなファイルを置いて、ビルド時に config/database.yml にコピーすることで複数DBのテストをしています
language: ruby env: - DB=mysql - DB=postgresql before_script: - "cp config/database.yml.$DB config/database.yml" - "RAILS_ENV=test bundle exec rake db:create db:migrate"
実際にはrvmと合わせて (ruby 2.0.0 or ruby 2.1.2) x (mysql or postgresql) の計4パターンのテストをしてます
https://github.com/sue445/gitpeach/blob/master/.travis.yml
rubygems.org (Rubyのgemのみ)
rubygems.orgの自分のgemのページで「Badge」からバッジのURLやmarkdownを取得できます
静的解析
Coveralls (Ruby以外でも使える)
Githubのアカウントでログイン後に「ADD PRIVATE REPO」か「ADD REPO」でリポジトリを登録(publicリポジトリは後者)
登録直後に設定方法が表示されます
設定内容 https://github.com/sue445/rubicure/commit/0bd9573c12b75bd7fab278aa1a533df3221ec892
設定後に下の方の「GET BADGE URLS」からバッジのURLを取得できます
Code Climate (Ruby以外でも使える)
コードの静的解析をして GPA (Grade Point Average = 評価値) 0〜4.0でスコアを出してくれます。*3
publicリポジトリなら無料で使えます。
githubのアカウントでログイン後に「Add Open Source Repo」でリポジトリを追加
codeclimateでもcoveralls同様テストカバレッジの計測ができます。設定内容もそんなに変わらないのでどっち使ってもいいと思います。(計測結果もそんなに変わらない)
設定内容 https://github.com/sue445/rubicure/commit/c436435e5c029be3dd58b7ed22acb1768c7412f3
GPAの円の下のバッジの画像からバッジのURLやmarkdownを取得できます
Gemnasium (Rubyのみ)
Gemfileやgemspecで使ってるgemが古くなっていたらメールで通知してくれます。
Githubのアカウントでログイン後に「ADD NEW PROJECT」でリポジトリを登録するだけ
Settings -> BadgeでバッジのMarkdownを取得できます
Inch CI (Rubyのみ)
どれだけソースコード中にYARDなどでドキュメントを書いてるかを計測してくれる
トップからGithubのURLを入力するだけで設定完了
右上のバッジの画像をクリックすればURLやMarkdownが表示されます
おまけ
Waffle.io
Githubのissueをカンバン風に管理できるサービス
githubのアカウントでログイン後にリポジトリを登録できます
Project Setting -> GeneralからバッジのMarkdownを取得可能
RubyDoc.info
バッジじゃないけど便利なのでこれも紹介。
rubygems.orgに公開されているgemのYARDをホスティングしてるっぽいサービス。rubygems.orgに公開してしばらくしたら公開されてる。
http://rubydoc.info/gems/rubicure/frames
githubのリポジトリを登録しても可能(rubygems.orgの巡回待つより早いが要手動更新)
右上のAdd ProjectでgitのURLを指定する。
git@github.com:<username>/<reponame>git
の形式ではなく git://github.com/<username>/<reponame>.git
の形式で登録する必要があるので注意
http://rubydoc.info/github/sue445/rubicure
便利なバッジの探し方
いろんなリポジトリを見るのが一番だと思う