jenkins - 在 Jenkins 管道中的所有下游作业上使用相同的节点
问题描述
我尝试使用以下脚本,但所有下游作业都在不同的节点上运行。
知道如何获得一个随机节点并在同一个节点上运行所有下游作业吗?
#!/usr/bin/env groovy
pipeline {
agent { label 'WindowsServer' }
stages{
stage("Get Dev Branch"){
steps {
script {
build(job: "GetDevBranchStep", parameters: [string(name: 'DevBranchName', value: "${params.CloudDevBranch}")])
}
}
}
stage("Get SA Branch"){
steps {
script {
build(job: "GetSABranchStep", parameters: [string(name: 'SABranchName', value: "${params.SABranch}")])
}
}
}
stage("Compile Models and Copy To Network Folder"){
steps {
script {
build(job: "CompileNewModelsAndCopyToNetwork", parameters: [string(name: 'DevBranchName', value: "${params.CloudDevBranch}"), string(name: 'SABranchName', value: "${params.SABranch}"), string(name: 'GetSAStepJobName', value: "GetSABranchStep"), string(name: 'GetDevRepoJobName', value: "GetDevBranchStep"), string(name: 'NetworkFoderToCopyTo', value: "NetworkFolderAddress")])
}
}
}
}
}
解决方案
- 使用 ${NODE_NAME} 作为附加参数提供下游作业
在代理部分的下游作业中,您可以使用:
代理{标签“${params.NODE_NAME}”}
(同时没有找到如何将上游作业的参数注入下游而不实际将它们作为输入参数一一插入)
推荐阅读
- c# - 使用面板中的控件,仅编辑图片框控件
- python-3.x - 根据对应的列值重复列,根据熊猫数据框中的总值重复行
- python - 计算机开始运行 Python 2.7 版
- javascript - 如何在 Vue js 中使用 arcgis js
- ruby-on-rails - Rails Active::Records 在检测到重复字段时创建不完整的嵌套记录
- javascript - 加载时加载 MP3 或 MP4 音频
- python - 如何在python的嵌套循环中适当地递增
- python - VSCode 显示我的自定义类的未解析导入
- json - 如果 jsonArray 发送空数组,如何排除键值对?
- java - android 应用程序如何显示像这样的自定义通知?