【发布时间】:2018-12-30 11:21:42
【问题描述】:
这个最小的管道可以工作:
pipeline {
agent any
stages {
stage('test') {
parallel {
stage('test-1') {
steps {
sh "echo test1"
}
}
stage('test-2') {
steps {
sh "echo test2"
}
}
}
}
}
}
我们在 parallel 块内有几个测试阶段,因此我们遇到了 Method Code too large 错误,Jenkins 人员显然不打算修复。
我想在外部函数中定义我的并行阶段,如下所示:
pipeline {
agent any
stages {
stage('test') {
parallel test_func()
}
}
}
def test_func() {
return {
stage('test-1') {
steps {
sh "echo test1"
}
}
stage('test-2') {
steps {
sh "echo test2"
}
}
}
}
但是,这不适用于我们尝试过的许多语法变体。
提前致谢!
【问题讨论】:
-
parallel需要一个列表 ([ .. ]),我会说它应该包含两个条目(每个都包含在{ .. }中),每个条目包含一个stage。 -
更正,不是列表,而是地图,请看下面的答案。
标签: jenkins jenkins-pipeline jenkins-declarative-pipeline