将詹金斯的工作输出传递给另一份工作

我对此做了相当多的研究,但找不到满意的答案。 下面的过程将是自动的,每天晚上重复,因此用户在运行时不能手动传递参数。 父作业调用阻塞链中的所有以下子进程我的作业层次结构如下设置,具有以下主要作业和子进程:

运行测试 - EveryNight(父作业) - >创建虚拟机 - >运行 - 测试 - 虚拟机

继续,当你创建一个虚拟机时,它会被分配一个生成的IP地址,我需要将该IP地址作为参数传递给运行测试 - 虚拟机,但我似乎无法找到任何方法来完成它。

澄清:有些人发现这个问题并不清楚,所以我问如何将动态创建的虚拟机的IP地址作为参数传递给不同的作业(子过程)

注意:我已经阅读了有关复制工件的信息,但我觉得它在这种情况下不起作用(加上写入,然后从文件中读取对于简单参数传递来说工作太多了。)

我觉得应该有一个非常简单的方法来做到这一点...

更新:建议使用参数化触发器插件。 我已经使用并具有以下bash脚本来复制属性

# Create override properties file for functional tests
FILENAME="user.properties"
cd "path of the file goes here"
rm -f $FILENAME
echo "FQDN=$VM_FQDN" >> $FILENAME

但是我不知道如何写入这个文件(或者创建一个新的属性文件,将IP地址保存为生成后的操作

答案:按照下面的答案,使用这些线程中的任意一个来修改属性文件或在Jenkins中使用注入选项在hudson / jenkins中存档工件

如何根据我的配置文件更改maven中的.properties文件?

谢谢


使用参考化的触发器插件,如Christopher所述,但使用名为Parameters from properties file的选项。

该文件具有简单的key = value结构,您可以在作业执行过程中创建该文件,保存IP地址并稍后使用它将它传递给下一个作业。 我通常将文件存储在构建工作区的某个位置,因此可以无缝地处理并行构建。


您可以使用参数化触发器插件来触发“运行测试”作业,并将IP地址值作为参数。

链接地址: http://www.djcxy.com/p/28863.html

上一篇: Passing the output of a job in Jenkins to another job

下一篇: Difficult condition to understand on Java Specification