JenkinsのShared Librariesにおけるアンダースコアの意味

【疑問】
Jenkinsのパイプラインスクリプトを読み進める際に先頭に

@Library('my-shared-library') _

と記述されているのを良く見かけるが、アンダースコアの意味が分からない。

【意味】
JenkinsのGlobal Pipeline Librariesに設定しているディレクトリのsrc直下のgroovyスクリプトに関しては、import文を省略して利用できるという意味である。

【仕組み】
・Jenkinsの設定でGlobal Pipeline Librariesに予めどれがパイプラインスクリプトに使うものかを宣言しているため
・パイプラインをコミットしているリポジトリのフォルダ体系は、公式に書かれている通りsrc, vars, resourcesというフォルダ構成にする必要有(多分)

【嵌った事】
PythonRubyなどで引数に不要な個所はアンダースコアを定義する事があるので、それと勘違いしていた。
・アンダースコア宣言をし忘れており、指定無しで指定していたフォルダに同名スクリプトが存在していて、結果想定とは異なるパイプラインコードが動いていた。

【参考URL】
Using librariesの箇所に記載されている(英語)
Extending with Shared Libraries
最近の記事では綺麗に解説されていたので思い出しやすかった(暫くほったらかしで問題なかったから少し忘れてた…)
kotapontan.hatenablog.com
図付で細かく説明してくれていた
www.kimullaa.com

プログラミングGROOVY

プログラミングGROOVY