なんかかきたい

プログラミングなどの個人的なメモやサークル「ゆきいろパラソル」の情報を載せてます

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 を開くと、 gitgitSCM が見える。

git は job-dsl-plugin 組み込みのDSLgitSCM はこのDynamic-DSLで利用可能なDSL

Dynamic-DSLAPI Viewer 上では紫色のアイコンで Dynamic と表示されている。

f:id:t-cyrill:20190706213732p:plain
Jenkins Dynamic Job DSL

組み込みDSLがあるのに Dynamic DSL を使う利点はプラグインの機能拡張に追従しておらず設定が不便な場合の補完。 例えば git では gitTool の設定ができないが、 gitSCM を使えば設定は容易。

これだけだが、Dynamic DSL は完全ではない場合もあり、その場合は Configure Block を代用する。

以上です。