【问题标题】:Using the same node on all Downstream jobs in a Jenkins Pipeline在 Jenkins 流水线中的所有下游作业上使用相同的节点
【发布时间】:2018-12-19 06:03:20
【问题描述】:

我尝试使用以下脚本,但所有下游作业都在不同的节点上运行。

知道如何获得一个随机节点并在同一个节点上运行所有下游作业吗?

#!/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")])
                }
            }
        }
    }
}

【问题讨论】:

标签: jenkins jenkins-pipeline jenkins-declarative-pipeline


【解决方案1】:
  1. 使用 ${NODE_NAME} 作为附加参数提供下游作业
  2. 在代理部分的下游作业中,您可以使用:

    代理{标签“${params.NODE_NAME}”}

(同时没有找到如何将上游作业的参数注入下游而不实际将它们作为输入参数一一插入)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多