Rails
CircleCI
Coveralls

RailsプロジェクトをCircleCIで自動デプロイしCOVERALLSに連携してgithubにバッジをつける

タイトルがなんかくどい・・・やることは以下です

  • githubにpushすると自動でCIでデプロイする
  • テストしたカバレッジ結果をCOVERALLSに連携する
  • COVERALLSで生成されたバッジをgithubのREADMEにつける

前提は以下

  • githubアカウントを持っている
  • CircleCIアカウントを持っている(githubがあれば簡単に作れる)
  • COVERALLS(こちらもgithubがあれば簡単に作れる)

CircleCIで対象のプロジェクトを選択する

  1. PROJECTSよりAdd Projectボタンを押下する スクリーンショット 2017-10-20 22.24.05.png
  2. 対象のプロジェクトのSetUp projectを押下する スクリーンショット 2017-10-20 22.26.58.png
  3. Start buildingボタンを押下する スクリーンショット 2017-10-20 22.30.11.png
  4. buildが行われる
    下の方にずらずらとログが表示されていきます。
    初回はテストエラーになるようにしてますのでエラーになりました。 スクリーンショット 2017-10-20 22.48.39.png
  5. エラーを修正してpushしてみる 次は成功しました、前回エラーだったのでFIXEDと表示されています スクリーンショット 2017-10-20 23.00.51.png

これでgithubにpushすると自動的にデプロイしてくれる状態になりました。

COVERALLSに連携する

  1. ADD REPOSより対象のリポジトリをONにする スクリーンショット 2017-10-20 23.08.25.png
  2. DETAILSボタンを押下する COVERALLSを利用するための手順が書かれているので内容を確認する。
  3. トークンをCIに設定する
    1. 2.で表示された中にrepo_token:があるので値をコピーする
    2. CircleCIのPROJECTS > Settings > BUILD SETTINGS > Environment Variables を押下し、Add Variableボタンを押下する
    3. Add an Environment Variableと表示されるので以下を各々入力する
      Name:COVERALLS_REPO_TOKEN
      Value:3-1. でコピーした値
  4. gemを追加する

    Gemfile
    gem 'coveralls', require: false
    
  5. spec_helper.rbtest_helper.rbの先頭に以下を追記する

    require 'coveralls'
    Coveralls.wear!
    
  6. 4.、5.の内容をpushする
    自動でCIのデプロイが走りますのでtestの箇所にCoverage report sent to Coveralls.とあればOK。

  7. COVERALLSに遷移してみてカバレッジ情報が表示されて入ればOK
    スクリーンショット 2017-10-20 23.43.19.png

READMEにバッジをつける

  1. カバレッジ結果画面のEMBEDボタンを押下する
    押下すると色々なフォーマットのコードが出てくるのでお好みのものをコピーする。 スクリーンショット 2017-10-20 23.46.08.png
  2. コピーしたコードをREADMEに貼り付ける
    以下の表示がされて入ればOK。 スクリーンショット 2017-10-20 23.50.18.png