在从节点而不是主节点上运行jenkins post build步骤

ewm0tg9j  于 12个月前  发布在  Jenkins
关注(0)|答案(2)|浏览(185)

我已经创建了一个Jenkins作业,并能够使用Restrict where this project can be run中的标签名称将其分配给主/从设备。我的工作需要这样做
1.将测试数据复制到目标文件夹(而不是Jenkins工作区)
1.运行测试
1.总结结果
1.将文件夹中的数据重新命名- * 尚未实现 *
关于第4步,我必须在将作业标记为完成之前删除数据。我已经考虑过一个Conditional Build step,它看起来在所有情况下都能工作,除非作业被中止。
我正在考虑使用PostBuildTask/GroovyPostBuild的Post Build步骤,它只在作业被分配在Master上运行时有效。这里的问题是,当我尝试在Slave 1/Slave 2上运行作业时,相同的任务似乎不起作用,我意识到它是在Master上执行的,而不是Slave 1/2。
我将感谢任何关于如何解决这个问题的指导。
谢谢

ogsagwnx

ogsagwnx1#

是,默认情况下,构建后步骤在主服务器上运行。所以,你需要另一个插件让你选择你想要运行的节点后构建步骤.在我的系统中,我使用“灵活发布”插件,我看到它可以解决你的问题
Flexible plugin example

b4qexyjb

b4qexyjb2#

你仍然可以使用我上面提到的“灵活发布”插件来选择Post Build脚本中的主节点。
看来,“跑?“Flexible Publish”插件中的conditon(excution node)是不是告诉插件在哪里运行Post Build脚本,是检查这个作业分配的节点是否与你设置的匹配,如果为true,Post Build脚本将在分配的节点上执行。如果为false,将执行Post Build脚本
例如,我的作业被限制在win10工作节点上,我设置了“运行”。“conditon(执行节点)到master,Post Build脚本未执行,日志为:

[Execution node] check if [win10] is in [[master]]
Run condition [Execution node ] preventing perform for step [[Execute scripts]]

相关问题