category

Jenkinsfileのviインデント設定

JenkinsのパイプラインスクリプトをJenkinsfileに記述する機会が多くあります。
Pipelineはgroovy(JVM上で動作するスクリプト言語)を下敷きにした文法になっていますが、ややマイナーなためエディタのインデントを手動設定する必要があります。

viの場合は、groovyindentを利用できます。

パッケージマネージャーDeinを前提とすると、遅延読み込み定義のtomlファイルに以下のような設定を記述することで、filetypeがgroovyの場合にgroovyindentを有効にできます。

[[plugins]]
repo = 'vim-scripts/groovyindent-unix'
on_ft = ['groovy']

また、Jenkinsfileのfiletypeをgroovyとして検出するため、以下のようなファイル名マッチ処理を.vimrcに記述しておきます。

  autocmd BufNewFile,BufRead Jenkinsfile* setfiletype groovy

filetype検出の機能確認をしたい場合は、Jenkinsfileを開いた状態で、:echo &filetypeコマンドを実行してgroovyと表示されれば動作しています。