pbn*_*pbn 5 groovy jenkins jenkins-pipeline jenkins-declarative-pipeline
我尝试并行化动态定义的函数集,如下所示:
def somefunc() {
echo 'echo1'
}
def somefunc2() {
echo 'echo2'
}
running_set = [
{ somefunc() },
{ somefunc2() }
]
pipeline {
agent none
stages{
stage('Run') {
steps {
parallel(running_set)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我最终得到的是:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 17: No "steps" or "parallel" to execute within stage "Run" @ line 17, column 9.
stage('Run') {
Run Code Online (Sandbox Code Playgroud)
虽然步骤是在"运行"阶段中定义的.无论如何,我想要实现的是一组动态定义的并行执行的函数.
Szy*_*iak 13
如果要将动态并行块与声明性管道脚本一起使用,则必须对Jenkinsfile应用两个更改:
running_set为Map类似["task 1": { somefunc()}, "task 2": { somefunc2() }]- 此映射中的键用作并行阶段名称running_set给块parallel内的方法script {}以下是Jenkinsfile的更新结果:
def somefunc() {
echo 'echo1'
}
def somefunc2() {
echo 'echo2'
}
running_set = [
"task1": {
somefunc()
},
"task2": {
somefunc2()
}
]
pipeline {
agent none
stages{
stage('Run') {
steps {
script {
parallel(running_set)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是Blue Ocean UI中的样子:
| 归档时间: |
|
| 查看次数: |
5324 次 |
| 最近记录: |