小编bev*_*ans的帖子

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

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

每个阶段执行非常相似的操作: - 获取一个列表,并为每个项目 - 在映射中创建条目 - 分配一个节点,并执行一组 BAT 脚本(是的,窗口),然后并行运行列表

当前管道长约 1,000 行,我收到“方法太大”错误

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

到现在为止还挺好。
但我刚刚运行了一个测试,表明加载脚本是对整个管道的补充。所以我想了解在这里做什么是最好的。

测试:

base.groovy:

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

管道.groovy

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

stage('two') {
     def basRef = load('base.groovy')
     echo basRef.getTest()
}
Run Code Online (Sandbox Code Playgroud)

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

我的问题:

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

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

我试过设置basRef = null允许垃圾收集工作,但我不确定它是否确实如此。

感谢您对此的任何指导。

jenkins-pipeline

5
推荐指数
0
解决办法
1476
查看次数

标签 统计

jenkins-pipeline ×1