【问题标题】:Declarative Jenkinsfile multiple environment vars with the same value声明式 Jenkinsfile 具有相同值的多个环境变量
【发布时间】:2017-06-10 04:07:50
【问题描述】:

我有一个使用 environment { } 块设置一些环境变量的声明性 Jenkinsfile。

假设我有两个变量 FOOBAR(按此顺序声明),无论出于何种原因,我都需要将它们都设置为值 nurse

有没有办法在分配给BAR 时引用FOO var,这样我只需在一个地方显式设置nurse

我尝试过 BAR = env.FOOBAR = FOO,但都失败了,而且文档似乎没有为这种用例提供​​太多指导......

这是我目前使用的粗略模型(巧妙地重复):

#!/usr/bin/env groovy

pipeline {
    agent any

    environment {
        FOO = 'nurse'
        BAR = 'nurse'
    }
}

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    其实想通了,对于第二个var,你可以使用groovy的字符串插值来赋值第一个var的值,比如BAR = "{env.FOO}"(注意这里的双引号是important)。

    【讨论】:

    • 我应该注意到,如果您要插入多个 envar,这种方法(真的很奇怪)似乎会失败——我有一个案例,我根据构建参数设置了一些 envar FOO,然后想将其插入到已经插入了WORKSPACE envar 的 envar BAR 中;在我像BAR = "${env.WORKSPACE}/xyz_${env.FOO}.db" 进行插值之后,BAR 无处可寻!
    猜你喜欢
    • 2022-01-11
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2015-05-21
    • 1970-01-01
    • 2017-12-27
    相关资源
    最近更新 更多