覆盖Jenkins工作流程

时间:2015-10-03 13:30:41

标签: jenkins-workflow

我有一个看起来像

的常见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" }  

1 个答案:

答案 0 :(得分:0)

当您不使用load步骤时,您可以通过定义步骤函数来替换自定义函数。 (原始步骤可以steps.build等方式访问。)

我没有专门测试在load ed脚本中定义的覆盖函数的情况,但是如果它还没有工作 - 并且我认为你发现它没有,因为你问这个问题,对吧? - 我怀疑你只需要这样定性:this.build()