Jenkinsfile 中的条件环境变量
Conditional environment variables in Jenkinsfile
我的 Jenkinsfiles 使用环境{}指令。我一直在尝试设置一个条件,根据正在构建的 GIT 分支调用不同的变量。
我试过类似 e. G。 :
switch(branch_name) {
case 'dev' :
Var1 = x;
case 'master' :
Var1 = y;
}
这将允许我跳过对回购上的每个分支使用不同的 Jenkins 文件。但是 groovy 语法在这个环境{}指令中似乎不起作用。
有办法解决吗?或者您会建议另一种方法来为每个分支处理不同的全局变量吗?
您可以在声明式管道中使用 when
声明式。更多信息 here
pipeline {
agent any
stages {
stage('Example Build') {
steps {
echo 'Hello World'
}
}
stage('Deploy to PROD') {
when {
branch 'production'
environment name: 'DEPLOY_TO', value: 'production'
}
steps {
echo 'Deploying'
}
}
stage('Deploy to DEV') {
when {
branch 'dev'
environment name: 'DEPLOY_TO', value: 'dev'
}
steps {
echo 'Deploying'
}
}
}
}
我的 Jenkinsfiles 使用环境{}指令。我一直在尝试设置一个条件,根据正在构建的 GIT 分支调用不同的变量。
我试过类似 e. G。 :
switch(branch_name) {
case 'dev' :
Var1 = x;
case 'master' :
Var1 = y;
}
这将允许我跳过对回购上的每个分支使用不同的 Jenkins 文件。但是 groovy 语法在这个环境{}指令中似乎不起作用。
有办法解决吗?或者您会建议另一种方法来为每个分支处理不同的全局变量吗?
您可以在声明式管道中使用 when
声明式。更多信息 here
pipeline {
agent any
stages {
stage('Example Build') {
steps {
echo 'Hello World'
}
}
stage('Deploy to PROD') {
when {
branch 'production'
environment name: 'DEPLOY_TO', value: 'production'
}
steps {
echo 'Deploying'
}
}
stage('Deploy to DEV') {
when {
branch 'dev'
environment name: 'DEPLOY_TO', value: 'dev'
}
steps {
echo 'Deploying'
}
}
}
}