当前位置: 首页 > 面试题库 >

如何使用全局变量设置Jenkins声明式管道环境?

潘胤
2023-03-14
问题内容

我正在尝试这样做

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

结果:
null / build /

如何使用全局环境创建环境?


问题答案:

我认为您应该使用:

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

就像在“环境”步骤中一样,您正在定义环境变量,以后可以通过 env.your-variable-name访问



 类似资料:
  • 在jenkins声明式管道中,如何基于自定义groovy/powershell方法设置环境变量的值?例如,如果我有一个如下所示的delcarative管道,我可以使用一个共享库方法来设置这个值吗?本质上,我试图使用一个多分支声明管道jenkins作业,它有一个部署阶段,但我需要确保开发分支部署到DEV,发布分支部署到STG,但使用相同的管道。我的想法是创建一个基于自定义方法设置的环境变量(可能在共

  • 问题内容: 我正在尝试获得一个如下所示的声明性管道: 问题是,我希望能够基于任意条件覆盖ENV1或ENV2的值。我目前的需求只是将其作为分支机构的基础,但我可以想象更复杂的情况。 有没有理智的方法来实现这一目标?我在网上看到了一些类似的示例: 但是我相信这并没有设置实际的环境变量,而是设置了一个局部变量,该局部变量将覆盖以后对ENV1的调用。问题是,我需要由nodejs脚本读取这些环境变量,而这些

  • 问题内容: 先前曾问过一个有关如何覆盖环境指令中定义的变量的问题,看来这是不可能的。 我想在一个阶段中设置一个变量,并使其可用于其他阶段。在声明性管道中,似乎唯一的方法是在script {}块中。 例如,我需要在结帐后设置一些变量。因此,在结帐阶段结束时,我有一个script {}块来设置这些var,并且可以在其他阶段访问它们。 这可行,但感觉不对。并且出于可读性考虑,我更愿意在管道的顶部声明这些

  • 在Jenkins脚本管道中,您可以像这样设置PATH env变量: 注意这里解释的路径MAVENhttps://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv代码集环境变量: 要设置的环境变量列表,每个变量的形式为VARIABLE=value或VARIABLE=以取消设置其他定义的变量。您还可以使用语法PATH wh

  • 问题内容: 如何在JavaScript中声明全局变量? 问题答案: 如果必须在生产代码中生成全局变量(应避免使用),请 始终 明确 声明它们: 虽然可以通过省略来定义全局变量(假设没有同名的局部变量),但这样做会生成 隐式 全局,这是一件不好的事情,并且在 严格模式下 会产生错误。

  • 我在typescript中声明了一个全局变量,类似于:global。test=“something”我尝试这样做,我得到错误属性“test”在类型“Global”上不存在。