jenkins - 使用流 DSL 将构建流迁移到管道中
问题描述
我有一个项目,我需要使用用 groovy 编写的流 dsl 插件脚本从旧的构建流迁移到管道中,我遇到了几个问题。根据我下面的一个问题的代码片段,我得到的是“预计会调用 Script1.func1 但最终捕获构建”,但它实际上会触发构建,但似乎不会执行“gv.funct1 (param1, param2) 和该脚本将以“java.lang.ArrayIndexOutOfBoundsException:5”结尾。我认为由于“func1”中的“构建作业”,它们与CPS有关?我尝试将@NonCPS放在“def func1”之前,但它没有t 工作 关于如何解决这个问题的任何建议?
我在 script.groovy 中有一个方法如下:
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])
....
}
}
}
}
}
解决方案
推荐阅读
- javascript - 申请加拿大的折扣和免税计算
- jquery - 无法通过 Put 请求从表单接收数据 - Laravel
- android - Jetpack Compose 中的共享表
- reactjs - 使用 ReactJs 从数值数组中返回偶数
- apache-spark - Spark - 如何使用窗口函数获取前一个值的所有列
- javascript - 将值/变量传递给异步函数
- kotlin - How to add retrofit service interface function paramter to data class member using moshi?
- database - I have encountered #Name? error in access form
- mysql - go-xorm reverse mysql has error reverse.go:196 Error 1064: Unsupported command(COM_STMT_PREPARE)
- java - android studio java中布局管理器的空指针异常