jenkins - Jenkins 流水线条件环境变量
问题描述
environmental
我在声明性管道的指令部分中有一组静态环境变量。这些值可用于管道中的每个阶段。我希望根据任意条件更改值。有没有办法做到这一点?
pipeline {
agent any
environment {
if ${params.condition} {
var1 = '123'
var2 = abc
} else {
var1 = '456'
var2 = def
}
}
stages {
stage('One') {
steps {
script {
...
echo env.var1
echo env.var2
...
}
}
}
}
stag('Two'){
steps {
script {
...
echo env.var1
echo env.var2
...
}
}
}
解决方案
寻找同样的东西,我在其他问题中找到了一个很好的答案:
基本上就是使用三元条件运算符
pipeline {
agent any
environment {
var1 = "${params.condition == true ? "123" : "456"}"
var2 = "${params.condition == true ? abc : def}"
}
}
注意:请记住,在你写问题的方式(我做了我的回答)中,数字是字符串,字母是变量。
推荐阅读
- python - spacy GPU 进程在安装先决条件时不起作用
- r - 将文本图层添加到特定位置
- java - 在 springboot 中创建名为 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration 的 bean 时出错
- css - CSS:如何显示隐藏部分?
- r - 从变量中选择重复的案例
- php - PHP中有很多IF语句?
- arangodb - 如何查找重复文件?
- html - 为什么浏览器会不均匀地计算 px 值?
- docker - Intersystems IRIS 数据平台无法更改默认密码
- app-store - 检查我的 iOS 应用程序是否可以强制更新