
Jenkinsfileで使っている共通ロジックを分割するときに困ったのでメモ。
load でロードできるらしいが
使ってみよう!Jenkins 「Pipeline」を参考にすると load "${pwd()}@script/slack.groovy"
とすればいいらしけど、java.nio.file.NoSuchFileException
と怒られた。
https://gist.github.com/daipresents/c6ba0749c8c402125c1496de5dc937c5.js?file=ErrorLog
ファイルが見つからないらしい。Jenkinsサーバを見てみても見つからない。
How do you load a groovy file and execute it を見ると、ロードする前にコードをGitHubなりからダウンロードしてくる必要があるみたい。
まずは、以下のように共通ロジック用のファイルを用意する。ここではSlack通知メソッドを作ってみた。最後に return this
するのがポイントらしい。
https://gist.github.com/daipresents/c6ba0749c8c402125c1496de5dc937c5.js?file=common.groovy
そして、共通ファイルを以下のように呼び出せば成功。
https://gist.github.com/daipresents/c6ba0749c8c402125c1496de5dc937c5.js?file=Jenkinsfile