如何在管道脚本中使用Jenkins节点环境变量?

时间:2019-02-01 08:41:09

标签: jenkins jenkins-pipeline

在Jenkins-> Manage Jenkins-> Manage Nodes-> Configure Node中,可以在Node Properties下,为Node配置环境变量。

是否可以在管道脚本中使用它们?

现在我必须做类似的事情

...
environment {
    GITMIRRORS='/home/jenkins/git-mirrors'
    DLC117='/progress/117_64/dlc'
}
...

因此,我将在许多Pipeline脚本中使用这些路径。但是它们是在节点上定义的...

  • 是否有办法说“使用该代理”和“使用主要Jenkins Node配置中的env变量”?
  • 如果没有,有没有办法说GITMIRRORS = GetNodeEnvVariable('...','...')

2 个答案:

答案 0 :(得分:1)

是的,您可以通过以下方式使用它们:

echo"${GITMIRRORS}"

或者您可以在代码中将其用作:

gitMirrors = env.GITMIRRORS

答案 1 :(得分:0)

How to use Jenkins Node Environment Variables in a Pipeline script?

Jenkins问题(早于2017年5月...)

如果您负担得起零钱:

  • 将环境变量的任何冲突定义从全局设置移动到所有节点设置
  • 或加载脚本或在Jenkinsfile中定义适当的变量值

参考: https://issues.jenkins-ci.org/browse/JENKINS-44425 https://issues.jenkins-ci.org/browse/JENKINS-44465