要約
jflintを使うと手元ですばやくJenkinsfileのLintができて便利
イントロ
Pipelineのジョブを調整するにあたって、Jenkinsfileの編集時はgroovyベースのDSLで書いてあることや時々しか触らないこともあって、動くまでエラーが発生しがちです。
動かすためにJenkinsfileを編集した後リモートブランチにpushしてまわすのは大変です。Replay機能を使ってGUIで変更して実行するのは少し速いですが、むやみにビルド記録が増えるのもできれば避けておきたいところです。
最近またJenkinsfileをいじることが増えたので、Lintを簡単にできるというツールが発表されていたのを思い出しました。
jflint
インストール
インストール
npm install jflint -g
lint実行
jflint -j [Jenkins master hostname] Jenkinsfile
なるほど、確かにJenkinsのプラグイン公式のsshやcurlを使う方法より簡単そうなインターフェースです。
正しいJenkinsfileのLint実行例
% jflint --csrf-disabled -j http://jenkins.example.jp ~/project/Example/Jenkinsfile
Jenkinsfile successfully validated.
間違ったJenkinsfileをLintに掛けた場合
% jflint --csrf-disabled -j http://jenkins.example.jp ~/project/Example/Jenkinsfile
Errors encountered validating Jenkinsfile:
WorkflowScript: 98: unexpected token: } @ line 98, column 1.
}
^
すぐに結果が返って来ました。これは役立ちそうです。