jenkins - Jenkins Pipeline - 在循环内按顺序触发作业
问题描述
我有一个 Jenkins 管道,我在其中触发具有不同参数的单个作业。参数的数量也可能会改变,这会改变作业需要被触发的次数。这就是为什么我有build job
一个 for 循环。代码如下所示:
pipeline{
stages{
stage('Setup'){
steps{
script {
for (int i=0; i<list_one.size(); i++ ) {
def index_i = i
for (int j=0; j<list_two.size(); j++) {
def index_j = j
stage ("${list_one[i]} ${list_two[j]}") {
sh "echo 'index_i: ${index_i}'"
sh "echo 'index_j: ${index_j}'"
build job: 'Downstream Job', parameters: [
string(name: 'some_param', value: "${list_one[index_i]}")]
}
}
}
}
}
}
}
}
当我运行这个管道时,它只在两个循环的第一次迭代中运行一次。但是,当我删除该build job
行时,管道会针对列表中的所有值运行。我很困惑为什么会这样,并且希望在这件事上得到一些帮助。
解决方案
或者您可以使用诸如propagate=false 之类的东西。
推荐阅读
- java - Maven and installing a command-line program
- powershell - 从另一个使用命名参数和路径中的空格调用一个 powershell 脚本
- awk - 按小时计算列中的值并添加标题
- .net-core - 已发布的自包含 dotnet 核心应用程序的运行时要求
- c# - WPF 应用程序中所有窗口的相同菜单栏或工具栏
- neo4j - 在 Neo4j 中寻找 K 最短路径
- html - 获取最接近标签外文本的值
- assembly - 为什么“sub esp, 96”、“lea eax, [esp+16]”和“mov [esp+4], eax”?(asm intel 语法)
- javascript - 为每个选定的行获取表格的单元格值?
- r - ctree_control 中的错误...未使用的参数...在 R 中