如何在声明式管道中处理全局变量?

红色888

先前曾问过一个有关如何覆盖环境指令中定义的变量的问题,看来这是不可能的。

我想在一个阶段中设置一个变量,并使其可用于其他阶段。在声明性管道中,似乎唯一的方法是在script {}块中。

例如,我需要在结帐后设置一些变量。因此,在结帐阶段结束时,我有一个script {}块来设置这些变量,并且可以在其他阶段访问它们。

这可行,但感觉不对。并且出于可读性考虑,我更愿意在管道的顶部声明这些变量并将其覆盖。因此,这意味着在脚本{}块的开始处有一个“设置变量”阶段,该脚本仅定义了vars-thats丑陋。

我很确定我在这里缺少明显的功能。声明性管道是否具有全局变量功能,或者我必须使用脚本{}

丹尼尔·马亚诺(Daniel Majano)

就像@mkobit所说的那样,您可以在管道块之外将变量定义为全局级别。你有尝试过吗?

def my_var
pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                my_var = 'value1'
            }
        }

        stage('Example2') {
            steps {
                printl(my_var)
            }
        }

    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章