jenkins-pipeline负载范围“方法代码太大”

时间:2016-11-12 22:31:44

标签: jenkins-pipeline

我正在设置一个非常复杂的管道来处理遗留构建。 目前有8个阶段,还有更多阶段 - 可能总共有12-15个阶段。

每个阶段的行为都非常相似:   - 列出每个项目的清单   - 在地图中创建条目   - 分配节点,并执行一组BAT脚本(是的,窗口) 然后并行运行列表

当前的管道大约有1000行,我得到的“方法太大”错误

我正在将此DSL重构为单独的可加载脚本。

到目前为止,非常好 但我刚刚运行了一个测试,表明加载脚本是整个管道的附加物。所以我想了解这里最好的做法。

测试

base.groovy:

def myVar      //wchi is global (to basRef, i thought)
def setTest() { myVar='abc' }
def getTest() { return myVar }

pipeline.groovy

stage('one') {
     def basRef = load('base.groovy')
     basRef.setTest()
     echo basRef.getTest()
}

stage('two') {
     def basRef = load('base.groovy')
     echo basRef.getTest()
}

第一阶段按预期显示“abc”。 第二阶段也显示“abc”

我问:

我如何知道使用loadable文件不会导致“方法太大”?

可加载文件的范围是什么?

我已尝试设置basRef = null以允许垃圾收集工作,但我不确定是否会这样做。

感谢您提供任何指导。

0 个答案:

没有答案