Jenkins job-dsl-plugin の Dynamic DSL について書いておく
Dynamic DSLについては以下を読めばわかるがググっても日本語が出てこないのでざっくり書いておく
要は Job DSL プラグインはビルドインのDSLだけでは全部のプラグインをカバーできないので、この Dynamic DSL
の機能を使って補完してくれよ、ということらしい。
Dynamic DSLはJenkinsが動いているサーバにプラグインが入っていて使えそうなら API Viewer に表示される。
API Viewerは https://JENKINS-HOST/plugin/job-dsl/api-viewer/index.html で利用できる。 http://localhost:8080 なら http://localhost:8080/plugin/job-dsl/api-viewer/index.html
ViewerにはビルトインのDSLに加えてこの Dynamic DSL も表示される。プラグインの追加によって増える。
これだけではよくわからないので 上記ページにはCSVプラグインの説明があるが、今はgitプラグインがよく使われているだろう。gitプラグインで説明する。
Viewerで http://localhost:8080/plugin/job-dsl/api-viewer/index.html#path/job-scm
を開くと、 git
と gitSCM
が見える。
git
は job-dsl-plugin 組み込みのDSL、 gitSCM
はこのDynamic-DSLで利用可能なDSL。
Dynamic-DSL は API Viewer 上では紫色のアイコンで Dynamic と表示されている。
組み込みDSLがあるのに Dynamic DSL を使う利点はプラグインの機能拡張に追従しておらず設定が不便な場合の補完。
例えば git
では gitTool
の設定ができないが、 gitSCM
を使えば設定は容易。
これだけだが、Dynamic DSL は完全ではない場合もあり、その場合は Configure Block を代用する。
以上です。