声明性管道中环境变量声明中的全局变量

时间:2017-07-04 18:42:00

标签: jenkins jenkins-pipeline

是否可以使用全局变量在声明性管道中设置环境变量的值?

以下示例按预期工作。

#!groovy
@Library("SomeSharedLibrary@1.0.0") _
pipeline {
    agent none
    environment {
        FOO = "World"
        BAR = "Hello ${FOO}!"
    }
    stages{
        stage("Simple test") {
            steps {
                echo BAR //prints "Hello World!"
            }
        }
    }
}

以下代码失败。它使用var中定义的全局ASharedLibrary

#!groovy
@Library("ASharedLibrary@1.0.0") _
pipeline {
    agent none
    environment {
        FOO = "World"
        BAR = glovalvar.greet(FOO)
    }
    stages{
        stage("Simple test") {
            steps {
                echo BAR //fails telling that BAR is not defined.
            }
        }
    }
}

在上一个示例中,如果我将FOO替换为实际值,BAR将采用适当的值。

有什么想法吗?我做错了什么?

0 个答案:

没有答案