我想知道是否有可能将jenkins管道作业中的变量定义传递给像这样的加载脚本。加载的脚本
管道作业
node {
// Some declaration and code
stage('Prepare deploy') {
// Create a talbe for the servers lists
def servers = [:]
// For each server know, if deployment is enabled
// deploy resources
params.each { srv, value ->
if ("$value" == "true"){
// add the current current to the enabled servers
servers["Server ${srv}"] = {
// Define specific variable
String SERVER=props."SRV_${srv}"
String CONF=env.DEPLOY_HOME + "/${srv}"
// Install server - the SERVER and CONF variable need to be propagate to the others scripts
load env.JENKINSFILES_DIRECTORY + "/server-configuration"
load env.JENKINSFILES_DIRECTORY + "/server-deploiement"
load env.JENKINSFILES_DIRECTORY + "/server-postconfig"
load env.JENKINSFILES_DIRECTORY + "/server-start"
}
}
}
parallel servers
}
}服务器配置文件
#!/usr/bin/env groovy
node{
// Some declaration
stage('configure serveur'){
// The variable SERVER and CONF must be visible here
// is it possible ?
sh "ssh -X " + env.USER +"@${SERVER} 'sh echo \"${CONF}\"'"
}
}谢谢
发布于 2018-11-10 18:08:06
withEnv是你要找的东西
node {
// Some declaration and code
stage('Prepare deploy') {
// Create a talbe for the servers lists
def servers = [:]
// For each server know, if deployment is enabled
// deploy resources
params.each { srv, value ->
if ("$value" == "true"){
// add the current current to the enabled servers
servers["Server ${srv}"] = {
// Install server - the SERVER and CONF variable need to be propagate to the others scripts
withEnv(["SERVER=props.SRV_${srv}","CONF=env.DEPLOY_HOME + ${srv}"]){
load env.JENKINSFILES_DIRECTORY + "/server-configuration"
load env.JENKINSFILES_DIRECTORY + "/server-deploiement"
load env.JENKINSFILES_DIRECTORY + "/server-postconfig"
load env.JENKINSFILES_DIRECTORY + "/server-start"
}
}
}
}
parallel servers
}
}服务器-配置
#!/usr/bin/env groovy
node{
// Some declaration
stage('configure serveur'){
// The variable SERVER and CONF must be visible here
// is it possible ?
sh "ssh -X " + env.USER +"@${env.SERVER} 'sh echo \"${env.CONF}\"'"
}
}https://stackoverflow.com/questions/53241133
复制相似问题