Jenkinsfile:根据其他环境变量设置环境变量 (Windows)
Jenkinsfile: Set environment variable based on other environment variable (Windows)
我正在尝试使用基于其他环境变量的环境变量创建 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
None 以上选项似乎有效。
有人可以告诉我如何根据另一个环境变量定义一个环境变量吗?
像这样连接字符串时应该使用双引号。
"My name is $first $last"
否则你可以这样使用“+”运算符:
'My name is ' + first + ' ' + last
我正在尝试使用基于其他环境变量的环境变量创建 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
None 以上选项似乎有效。
有人可以告诉我如何根据另一个环境变量定义一个环境变量吗?
像这样连接字符串时应该使用双引号。
"My name is $first $last"
否则你可以这样使用“+”运算符:
'My name is ' + first + ' ' + last