【问题标题】:How to set Jenkins Declarative Pipeline environments with Global Variables?如何使用全局变量设置 Jenkins 声明式管道环境?
【发布时间】:2018-01-26 08:13:01
【问题描述】:

我正在尝试这样做

    pipeline {
        agent any
        environment {
            LOCAL_BUILD_PATH=env.WORKSPACE+'/build/'
        }
        stages {
            stage('Stuff'){
                steps{
                echo LOCAL_BUILD_PATH
               }
           }
       }
   }

结果:
空/构建/

如何使用全局环境来创建我的环境?

【问题讨论】:

    标签: jenkins groovy environment-variables jenkins-pipeline


    【解决方案1】:

    你可以使用这样的东西......

    LOCAL_BUILD_PATH="${env.WORKSPACE}/build/"  
    

    记住:字符串中的变量使用"(双引号)

    【讨论】:

      【解决方案2】:

      我认为你应该使用:

      steps {
        echo "${env.LOCAL_BUILD_PATH}"
      }
      

      在“环境”步骤中,您要定义环境变量,以后可以通过 env.your-variable-name

      访问这些变量

      【讨论】:

        【解决方案3】:

        所以这是我最终使用的方法

        pipeline {
            agent {
                label 'master'
            }
        
            stages {
                stage ("Setting Variables"){
                    steps {
                        script{        
                            LOCAL_BUILD_PATH = "$env.WORKSPACE/build"
                        }
                    }
                }
        
                stage('Print Varliabe'){
                    steps{
                        echo LOCAL_BUILD_PATH
                    }
                }
            }
        }         
        

        【讨论】:

          【解决方案4】:

          这是一个范围问题。在顶部声明变量并将其设置为空。像

          def var = null
          

          您应该能够在块/闭包/阶段中设置值并在另一个中访问它

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-08-05
            • 2021-05-24
            • 1970-01-01
            • 2017-08-09
            • 1970-01-01
            • 2018-10-02
            相关资源
            最近更新 更多