在Jenkins管道中的所有下游作业上使用同一节点

时间:2018-07-11 09:02:07

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

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

有什么主意如何获得一个随机节点并在同一节点上运行所有下游作业?

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

1 个答案:

答案 0 :(得分:0)

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

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

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

相关问题