在Jenkins管道/ groovy中加入环境变量

bow*_*owe 8 groovy jenkins

我试图在Jenkinsfile中设置几个环境变量,但是我缺少Java/Groovy-ness似乎让我失望了......

pipeline {
    agent any
    environment {
        TMPDIR = /mnt/storage/build
        TOX_DIR = $TMPDIR/$BUILD_TAG
    }
...
Run Code Online (Sandbox Code Playgroud)

在控制台上生成以下错误...

WorkflowScript: 7: Environment variable values can only be joined together with +s. @ line 7, column 26.
       TOX_DIR = $TMPDIR/$BUILD_TAG
Run Code Online (Sandbox Code Playgroud)

其他变体如......

TOX_DIR = "$TMPDIR" + "/" + "$BUILD_TAG"
Run Code Online (Sandbox Code Playgroud)

要么

TOX_DIR = "$TMPDIR/$BUILD_TAG"
Run Code Online (Sandbox Code Playgroud)

要么

TOX_DIR = "${TMPDIR}/${BUILD_TAG}"
Run Code Online (Sandbox Code Playgroud)

只会让事情变得更糟.

我想念的是什么?谢谢....

小智 10

使用Jenkins v2.89.2 - 双引号不是使用单引号,而是为我工作.

environment{
    MESSAGE = "release-staging-${BUILD_TIMESTAMP}"
}
Run Code Online (Sandbox Code Playgroud)


bow*_*owe 2

nm...答案比我想象的更理智,只是缺少引号...

....
environment {
    TMPDIR = '/mnt/storage/work'
    TOX_DIR = '${TMPDIR}/${BUILD_TAG}'
}
...
Run Code Online (Sandbox Code Playgroud)