从另一个Jenkins环境变量设置Jenkins环境变量

时间:2014-02-06 13:23:50

标签: jenkins environment

我正在尝试设置作业环境变量。一些变量是从其他环境变量设置的。例如在Windows上:

var1=this
var2=that
var3=other
var4=%var1%_%var2%_%var3%

我希望将var4设置为'this_that_other'。我尝试将前三个设置为作业变量,将第四个设置为构建变量。没有快乐。

3 个答案:

答案 0 :(得分:1)

因为您只在当前流程范围内设置变量。正如你所说,如果你不想使用文件存储和检索,另一个选择是使环境变量设置机器明智,如果它满足你的需要并且不会有任何副作用。

如果您可以安装PowerShell插件,那么使用PowerShell脚本非常容易:

[Environment]::SetEnvironmentVariable("VAR4", $WhatEverYouWant, "Machine")

这使得VAR4变量可以立即在机器级别上使用,这意味着在所有其他过程中。

答案 1 :(得分:1)

您可以使用Jenkins的EnvInject Plugin执行此操作。这里var1,var2和var3是构建参数或预定义的环境变量。使用Groovy也可以完成同样的事情。

enter image description here

答案 2 :(得分:0)

如果需要var4,可以在批处理命令中设置var4:

set var4=%var1%_%var2%_%var3%

var4现在具有批处理命令持续时间的所需值,但不适用于任何后续构建步骤。这对我没有帮助,因为我需要在ant命令中使用var4。