运行大型Jenkins管道脚本时,它可以给出错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during class generation: Method code too large!
java.lang.RuntimeException: Method code too large!
这个错误的原因是什么?如何解决?
最佳答案 这是由于
Java和Groovy之间的限制,要求方法字节码不大于64kb.这不是由于Jenkins Pipeline DSL.
要解决这个问题,请将其分解为方法并调用方法,而不是使用单个整体管道脚本.
例如,而不是:
stage foo
parallel([
... giant list of maps ...
])
相反:
stage foo
def build_foo() {
parallel([
...giant list of maps...
])}
build_foo()