在管道作业中设置每个节点的环境变量

罗戈夫

我的Jenkins管道看起来像这样(请原谅一些小的语法错误):

def buildsToDo = "foo bar".tokenize()
def buildPlan = [:]

for (int i = 0; i < buildsToDo.size(); i ++) {
  def tag = buildsToDo[i]

  buildPlan[tag] = {
    node(tag) {
      env.ENVVAR = tag
      stage("build " + tag) {
        sh 'env'
      }
    }
  }
}

parallel(buildPlan)

我的意图是与拥有一个节点,ENVVAR=foo拥有一个节点ENVVAR=bar

我实际上看到的是,env命令运行ENVVAR=bar在两个节点上都设置了。

根据本教程,“ [特殊变量env]的属性是当前节点上的环境变量。” 所以我希望这能奏效。

罗戈夫

在本教程的后面,它说:

在这种情况下,请勿使用env:

env.PATH = "${mvnHome}/bin:${env.PATH}"

因为环境变量的覆盖仅限于对管道运行是全局的,而不是对当前线程(以及代理)而言是局部的。但是,您可以使用上述的withEnv步骤。

看起来像是DSL的一个丑陋限制。withEnv一步一步地完成了整个阶段的工作

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MPI作业中的计算节点上设置环境变量

来自分类Dev

如何在YARN Spark作业中设置环境变量?

来自分类Dev

在Linux中通过管道设置和使用环境变量

来自分类Dev

在脚本化管道中设置环境变量

来自分类Dev

在gitlab Runner中设置节点环境变量

来自分类Dev

如何在节点红色中设置环境变量?

来自分类Dev

无法在 yml 文件中设置节点环境变量

来自分类Dev

Jenkins管道中的环境变量

来自分类Dev

使用环境变量将Jenkins管道中的其他变量设置为代码

来自分类Dev

在管道中调用我的函数时未设置环境变量

来自分类Dev

如何在脚本化的詹金斯管道中动态设置环境变量?

来自分类Dev

如何在Jenkins脚本化管道中设置环境变量?

来自分类Dev

设置环境变量,然后在Jenkins脚本化管道中运行脚本

来自分类Dev

脚本化管道设置和访问环境变量

来自分类Dev

为管道子外壳独立设置环境变量

来自分类Dev

为 Jenkins 管道设置环境变量以部署 kubernetes pod

来自分类Dev

在C中设置DEBUG环境变量

来自分类Dev

无法在jenkinsfile中设置环境变量

来自分类Dev

在Gatsby中设置环境变量

来自分类Linux

在AWS实例中设置环境变量

来自分类Dev

在 Javascript 中设置环境变量

来自分类Dev

在 Symfony 中设置默认环境变量

来自分类Dev

从库C ++中设置环境变量

来自分类Dev

在Python中设置环境变量

来自分类Dev

在makefile中设置环境变量

来自分类Dev

SETX从文件中设置环境变量

来自分类Dev

在环境变量中设置额外的主机

来自分类Dev

在Docker中设置环境变量

来自分类Dev

在git bash中设置环境变量