2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Code Climate を Macのローカル環境で動かす

Last updated at Posted at 2019-09-13

Code Climate とは

https://codeclimate.com

  • コードの品質を測るためのサービス
  • OSS で使う分には無料
  • docker を使って動作環境を自分で作ることもできる

今参加しているプロジェクトでは CI で Code Climate の実行結果を見れるようにしているのですが、たまにプッシュする前に Code Climate の結果を見たいことがあり、手元で動かせるようにしてみました。

環境構築

環境構築とはいっても、Homebrew から導入してゴニョゴニョするだけで済みます。

Docker image を pull する

*Docker for Mac が導入されている前提

$ docker pull codeclimate/codeclimate

Homebrew から Code Climate を導入する

$ brew tap codeclimate/formulae
$ brew install codeclimate

global に Code Climate を実行できるようにする

brew install が完了した段階で、shell を叩けば Code Climate は動くようになるのですが、一々入力をするのも面倒くさいので、以下の内容で .sh ファイルを作成しておきます。

sudo docker run \
--interactive --tty --rm \
--env CODECLIMATE_CODE="$PWD" \
--volume "$PWD":/code \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /tmp/cc:/tmp/cc \
--volume /code/node_modules \
codeclimate/codeclimate analyze -f html > output.html

codeclimate analyze コマンドは -f というオプションを受け取ることができます。コードの解析結果の出力形式を指定するためのオプションです。今回は html 形式で出力して、output.html というファイルに書き込むように設定しています。

作成した .sh ファイルを/usr/local/bin 以下に配置し、権限を弄れば準備完了です。

$ cd /usr/local/bin/ && sudo chmod 755 codeclimate

後は、Code Climate の設定ファイルのあるディレクトリで、codeclimate コマンドを叩けば、解析結果が 実行したディレクトリ/output.html に出力されます。

解析が中々始まらない場合

このissueを参考に--volume /code/node_modules \をdocker 起動時のフラグに追加したところ、スムーズに解析を行ってくれるようになりました。

sudo docker run \
--interactive --tty --rm \
--env CODECLIMATE_CODE="$PWD" \
--volume "$PWD":/code \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /tmp/cc:/tmp/cc \
--volume /code/node_modules \
codeclimate/codeclimate analyze -f html > output.html

参考

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?