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

Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

Ruby プロジェクト の Circle CI テスト+バッジ+rubocopの設定例

f:id:tbpg:20160727231246p:plain

このメモは自分が参照するための個人メモです。
新規性は全くないので、特に参照する価値はありません。

circle.yml

machine:
  timezone:
    Asia/Tokyo
  ruby:
    version: 2.3.1

circle.yml の設定詳細については下記の公式ドキュメントを参照。

circleci.com

実行

f:id:tbpg:20160727231309p:plain

Circle CI Badge

f:id:tbpg:20160727231318p:plain

公式ドキュメントとえいのうさんの記事を参考に設定しました。

blog.a-know.me

circleci.com

rubocop

.rubocop.yml

.rubocop.yml の除外設定に vendor を追加します。
Circle CI は bundle の初期設定で 依存ライブラリを vendor に install します。
vendor を除外しないと依存ライブラリまでチェック対象になってしまうためです。

AllCops:
  Exclude:
    - 'vendor/**/*'

circle.yml

circle.yml の設定に rubocop の呼び出しを追加します

machine:
  timezone:
    Asia/Tokyo
  ruby:
    version: 2.3.1
test:
  pre:
    - bundle exec rubocop -c .rubocop.yml

Circle CI SSH

ビルドのエラー時など、Circle CI のビルド環境にSSH接続して
内容を確認したくなる場合があると思います。
そんなときに便利です。

f:id:tbpg:20160727231407p:plain

Firewall で阻まれてSSH接続できない場合は泣きながら
circle.yml にデバッグコードを埋め込む感じですかね。
古きよき print debug に幸あれ

参考資料