目的
CIの手始めにコードスタイルチェックツールをGitHubへのPUSH毎に実行するように設定します。プロジェクトの開始時からコードスタイルが自動的にフィードバックされるような仕組みになっているとけっこう良いと思います。
手順
JSLintの設定を行う
こちらを参考にしました。
http://qiita.com/mima_ita/items/1cc6b2fb938d5a1fc3aa#1-4
ほぼそのままなんですが、下記のようなコードでコードスタイルチェックを実行します。
check.js
var argv = process.argv;
var gjslint = require('closure-linter-wrapper').gjslint;
var flagsArray = [
'--nostrict',
'--nojsdoc',
//'--disable 14'
];
gjslint({
src: [
'admin/webroot/js/*.js'
],
flags: flagsArray
,reporter: {
name: 'gjslint_xml',
dest: process.env.CIRCLE_ARTIFACTS + '/check_gjslint.xml'
}
},
function (err, result) {
}
);
CircleCIではCIRCLE_ARTIFACTSという環境変数があって、ここにファイルを出力すると後から参照しやすくガイドされます。自分の場合は今回は/.circleci/code_inspections/js/というフォルダに上記のコードを保存しました。
circle.ymlを用意する
circle.yml
# https://circleci.com/docs/configuration
machine:
timezone:
Asia/Tokyo
php:
version: 5.5.15
dependencies:
pre:
- sudo easy_install http://closure-linter.googlecode.com/files/closure_linter-latest.tar.gz
- cd .circleci/code_inspections/js/; npm install;
test:
override:
- node .circleci/code_inspections/js/check.js
nodeなどのインストールも必要かなと思ってたんですが、どうも最初からインストールされてるようで不要でした。自分の環境の場合は上記で動作しました。
チェック結果を参照する
下記のArtifactsタブを開くと出力結果を確認できます。
本当は内容をメール等で送信できると良さそうですね。