【问题标题】:Jenkinsfile: Set environment variable based on other environment variable (Windows)Jenkinsfile:根据其他环境变量设置环境变量(Windows)
【发布时间】:2021-12-09 14:53:48
【问题描述】:

我正在尝试使用基于其他环境变量的环境变量创建 Jenkinsfile。这无法正常工作,因为下面示例中的 %PATH% 翻译不正确。

什么是让它工作的正确语法?

pipeline {
    environment {
        ENVTEST1 = '$PATH;c:\\additional\\path'
        ENVTEST2 = '${PATH};c:\\additional\\path'
        ENVTEST3 = '$env.PATH;c:\\additional\\path'
        ENVTEST4 = '${env.PATH};c:\\additional\\path'
        ENVTEST5 = '%PATH%;c:\\additional\\path'
    }
    agent any
    stages {
        stage ('Build'){
            steps {
                bat 'SET' // print all env vars
            }
        }
    }
}

构建日志中的结果是这样的:

ENVTEST1=$PATH;c:\additional\path
ENVTEST2=${PATH};c:\additional\path
ENVTEST3=$env.PATH;c:\additional\path
ENVTEST4=${env.PATH};c:\additional\path
ENVTEST5=%PATH%;c:\additional\path

以上选项似乎都不起作用。

谁能告诉我如何根据另一个环境变量定义一个环境变量?

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    在连接这样的字符串时应该使用双引号。

    "My name is $first $last"
    

    否则你可以这样使用“+”运算符:

    'My name is ' + first + ' ' + last
    

    【讨论】:

    • 这似乎可以解决问题,非常感谢 Pastello!
    猜你喜欢
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2021-08-21
    • 2018-03-05
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2022-07-20
    相关资源
    最近更新 更多