jenkins 声明性管道环境变量是否在不同的阶段之间共享?

kyvafyod  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(184)

环境变量是否可以从声明性管道的不同阶段访问?
下面是我的代码:

pipeline {
    agent any
    stages {
        stage('start') {
            environment {
               tool="alpha"
            }
            steps {
                script {
                   tool="beta"
                   echo tool
                }
            }
        }
        stage('end') {
            steps {
                echo tool
            }
        }
    }
}

输出量:
两个echo都在打印“beta”
那么,在stage('start')中声明的工具变量是否也可以在stage('end')中访问?

yquaqz18

yquaqz181#

echo tool不会打印tool环境变量,而是打印Groovy变量。您在没有定义它的情况下将其设置为"beta",Jenkins神奇地将其转换为全局Groovy(而不是环境)变量。
尝试与

sh script: 'echo $tool'

echo env.tool

来测试环境变量的作用。

相关问题