静的解析結果をpull requestのコメントにつけるsaddlerというrubygemを作った。rubygemだけど、コマンドラインを通して言語中立なので何にでも使える。
git diff --name-only origin/master \ | grep -e '\.js$' \ | xargs ./node_modules/gulp-jscs/node_modules/.bin/jscs \ --reporter checkstyle \ | checkstyle_filter-git diff origin/master \ | saddler report \ --require saddler/reporter/github \ --reporter Saddler::Reporter::Github::PullRequestReviewComment
こんなイメージで、結果をcheckstyle formatで出力できれば、なんでもpull requestのreview commentに付けられる。これをTravisCI, CircleCI, Jenkinsなどから実行する。
導入や各段で何が起きるのかは、こっちに書いた。
変更したファイルにrubocopやjscsを実行して pull requestに自動でコメントする – Saddler – checkstyle to anywhere
HoundCIやprontoより柔軟度が格段に高いこと、CI環境だけで完結できること、中間に変なwrapperが不要でメンテナンス性が高いこと、が特長。便利。