我正在设置一个非常复杂的管道来处理遗留构建。 目前有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
以允许垃圾收集工作,但我不确定是否会这样做。
感谢您提供任何指导。