jenkins - java.lang.IllegalArgumentException:并行执行作业时需要命名参数
问题描述
我有一个 monorepo,我正试图让它们并行运行
def abc = findJenkinsfileToRun(modifiedFiles)
parallel {
for (file in abc) {
println("Building ${file.toString()}")
load "${file.toString()}/Jenkinsfile"
}
}
这导致以下结果
java.lang.IllegalArgumentException: Expected named arguments but got org.jenkinsci.plugins.workflow.cps.CpsClosure2@b7ccdc
谁能帮助解决这个问题?
解决方案
您没有parallel
正确使用关键字,它应该接收分支名称的映射作为键和执行代码(闭包)作为值。请参阅文档。
所以在你的情况下,你应该使用类似的东西:
def abc = findJenkinsfileToRun(modifiedFiles)
parallel abc.collectEntries { file ->
["Building ${file.toString()}" : {
// The code to run in parallel
println("Building ${file.toString()}")
load "${file.toString()}/Jenkinsfile"
}]
}
推荐阅读
- r - 使用二进制图像在 R 中发布请求
- python - 如何使用 psycopg2.sql 将列列表或 *(所有列)传递给动态 SQL 查询
- python - 如何在 python 中进行这种集成:when y(t)=integrate[f(t,y)]
- javascript - Javascript:使用用户输入创建表的任何更好的解决方案?
- javascript - fullCalendar 中检索源的问题
- ansible - 使用 nohup 时,ansible shell 不会创建 nohup.out
- ansible - 如何用 ansible tower 安装 PHP7.2?
- excel - VBA中浮动按钮的问题 - 出现错误
- docker - .net 核心应用程序中基于环境的应用程序设置 - docker
- c# - 我无法使组框可见