0

次のような一般的なJenkinsワークフローがあります

def build() {
   echo "build"
}

def test() {
   echo "test"
}

def runAll() {
   build()
   test()
}

return this;

ユーザーコード:

node {
   def flow = load(...)
   flow.runAll()
}

それを使用するものを再実装せずにフローメソッドをオーバーライドする方法はありますか? 何かのようなもの

flow.metaClass.build = { -> echo "Custom build" }  
4

1 に答える 1

0

ステップを使用していないときは、loadステップ関数を定義するだけでカスタム関数に置き換えることができます。(元のステップは、steps.buildなどでアクセスできます)

オーバーライド関数がloaded スクリプトで定義されているケースを具体的にテストしたことはありませんが、まだ機能していない場合 (この質問をしているので、機能していないことに気付いたと思いますよね?)次のように修飾します。this.build()

于 2015-10-28T23:03:13.520 に答える