使用来自jenkins slave的环境变量

时间:2016-02-22 13:11:16

标签: jenkins master-slave

我有一点问题。

我们的设置包括1个主Jenkins和2个Slaves,两个Slaves都使用不同的SVN位置字符串,我们将其保存在环境变量中...但是它们都启动相同的.dll进行测试 - 现在我的问题是当我使用%SVN_Location%从计算机中获取环境变量时,我运行构建(主)。

所以我的问题是有一种方法告诉他以某种方式执行%SVN_Location%不在构建开始的计算机上,而是在运行从属的计算机上

2 个答案:

答案 0 :(得分:1)

  • 使用 EnvInject 记录您要提交的值
  • 使用 Copy To Slave 将文件移至奴隶
  • 用户EnvInject on slave,在SCM步骤之前将值加载到环境变量

答案 1 :(得分:0)

我自己经过一些研究后自己管理,直接从Slave获取环境变量并将其用作主节点的参数。

使用动态参数和默认值脚本使用插件 Dynamic Parameter System.getenv("SVN_Location_TP1")并选中复选框Remote Script

enter image description here

现在使用参数启动构建时,它会自动从远程脚本加载来自从属的环境变量,并将其用作jenkins执行的参数,可以与%SVN_Location_TP1%(在我的示例中)一起使用