2017-10-20 7 views
0

、私が言うこの方法を拡張することができますジェンキンスパイプラインDSLを拡張しながら、共有ライブラリを通じてサブモジュールの機能を提供する:どのようにDSLを拡張する場合

boo { 
    var1='var' 
} 

しかし、私はDSLをこの方法を拡張したいと思う:

boo.RunBooWithFoo('var1') 

誰かがこれを行う方法の例を提供できますか?

答えて

1

ファイルvars/boo.groovyを共有ライブラリに作成して、その関数をそこに置くことができます。

def RunBooWithFoo(arg) { 
    //your logic 
} 

は次にパイプラインで、あなたはこのよう

@Library('shared-library-name') _ 
boo.RunBooWithFoo('var1') 
+0

おかげでそれを使用することができます。あなたはjenkin.ioのものに加えてあなたが示唆する共有ライブラリエクステンションのドキュメントがありますか? –

+0

@RijoSimon私は他のものを認識していません。私は[jenkins.io](https://jenkins.io/doc/book/pipeline/shared-libraries/)は共有ライブラリを理解するのに十分なものだと思います。 –

+0

私はgroovyフォルダを私のプラグインのresourcesフォルダにこのプロジェクトの例として追加しました:https://github.com/jenkinsci/simple-build-for-pipeline-plugin/tree/master/src/main/resources/dsl 。しかし、これは本当に共有ライブラリをロードしません。少なくとも暗黙のうちではありません。私はここで間違って何をしていますか?ライブラリをインストールするユーザーもDSL拡張機能を利用できるように、共有ライブラリをプラグインと一緒に出荷するにはどうすればよいですか? –

関連する問題