Jenkins 使用流DSL将构建流迁移到管道中
我有一个项目需要使用groovy编写的flow dsl插件脚本从旧的构建流迁移到管道中,我遇到了几个问题。根据我下面的代码片段,我得到的一个问题是“预期调用Script1.func1但最终捕获构建”,但它实际上会触发构建,但似乎不会执行“gv.funct1(param1,param2)下面的行,脚本将以“java.lang.ArrayIndexOutOfBoundsException:5”结尾。我认为它们与CPS相关,因为”“func1”中的“build job”?我试着在“def func1”之前加上@NonCPS,但没有效果。有什么建议可以解决这个问题吗 我在script.groovy中有一个方法,如下所示:Jenkins 使用流DSL将构建流迁移到管道中,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我有一个项目需要使用groovy编写的flow dsl插件脚本从旧的构建流迁移到管道中,我遇到了几个问题。根据我下面的代码片段,我得到的一个问题是“预期调用Script1.func1但最终捕获构建”,但它实际上会触发构建,但似乎不会执行“gv.funct1(param1,param2)下面的行,脚本将以“java.lang.ArrayIndexOutOfBoundsException:5”结尾。我认为它们与CPS相关,因为”“func1”中的“build job”?我试着在“def func1”
def func1 (param1, param2) {
build job: param1, parameters: [string(name: 'PARAMETER2', value: 'param2')]
}
pipeline {
stages {
stage ("Build") {
steps {
...
gv = load "scripts.groovy"
def myFile = readFile (fileToBeRead)
for (int i = 0; i < myFile.size(); i++) {
String[] param = ""
param = myFile.split(',')
gv.func1 (param[0], param[1])
....
}
}
}
}
}
在管道中我有:
def func1 (param1, param2) {
build job: param1, parameters: [string(name: 'PARAMETER2', value: 'param2')]
}
pipeline {
stages {
stage ("Build") {
steps {
...
gv = load "scripts.groovy"
def myFile = readFile (fileToBeRead)
for (int i = 0; i < myFile.size(); i++) {
String[] param = ""
param = myFile.split(',')
gv.func1 (param[0], param[1])
....
}
}
}
}
}
管道{
舞台{
舞台(“建造”){
台阶{
...
gv=load“scripts.groovy”
def myFile=readFile(fileToBeRead)
对于(int i=0;i
您应该让在script.groovy
的最后返回这个,在哪一行有java.lang.ArrayIndexOutOfBoundsException?