相关疑难解决方法(0)

Jenkins声明性管道中的条件环境变量

我正在尝试获得一个如下所示的声明性管道:

pipeline {
    environment {
        ENV1 = 'default'
        ENV2 = 'default also'
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我希望能够根据任意条件覆盖ENV1或ENV2的值.我目前的需求只是基于它的分支,但我可以想象更复杂的条件.

有没有理智的方法来实现这个?我在网上看到了一些例子:

stages {
    stage('Set environment') {
        steps {
            script {
                ENV1 = 'new1'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我相信这不是设置实际的环境变量,而是设置一个局部变量,它覆盖了以后对ENV1的调用.问题是,我需要这些环境变量由nodejs脚本读取,而那些需要是真正的机器环境变量.

有没有办法在jenkinsfile中将环境变量设置为动态?

jenkins jenkins-pipeline

9
推荐指数
3
解决办法
2万
查看次数

标签 统计

jenkins ×1

jenkins-pipeline ×1