根据Jenkins的文档,这是为声明性管道设置全局环境变量的方式:
pipeline { agent { label 'my-label' } environment { value = 'World' } stages { stage("Test") { steps { sh 'echo Hello, ${value}' } } } }
预期的输出是“ Hello,World”。
在脚本化管道中执行此操作的正确方法是什么?以下内容不会出错,但是它不起作用:
node('my-label') { environment { value = 'World' } stage("Test") { sh 'echo Hello, ${value}' } }
输出为“ Hello”。那不是预期的。
单击此链接的切换脚本化管道
Jenkinsfile(脚本管道)
node { withEnv(['DISABLE_AUTH=true', 'DB_ENGINE=sqlite']) { stage('Build') { sh 'printenv' } } }
您的脚本应如下所示:
node('my-label') { wihtEnv(['value=World']) { stage('Test') { sh 'echo Hello, ${value}' } } }