我需要知道是否有某种插件可以从jenkins作业中选择节点并将该节点名称作为参数传递给Windows批处理命令
我使用Elastic-Axis或Slaves玩了配置矩阵(下面的屏幕截图,你可以勾选名称)插件
但是这些都会在所选节点上执行Windows批处理命令。
我不想在该服务器上执行它,而是在主节点上执行它,只将slave / label的值传递给windows batch命令。
我能够像这里描述的那样做,但是它涉及2个作业和一个groovy脚本来询问从属/节点配置。将其写入属性文件并将属性文件传递给下一个作业。
Jenkins: How to get node name from label to use as a parameter
我需要完成大约30个这样的工作,因此我想尝试在一个工作中完成所有工作 - 如果我在上面的链接中使用我的解决方案,30个工作将在60个工作中翻倍,维护将是一种噩梦
我也不希望有一个字符串参数和硬编码从属/节点的名称,因为它不能确保只使用可用的从属/节点,但可以输入任何服务器名称,这可能是一个有人可能错误输入服务器名称的问题,例如指向生产服务器而不是测试服务器。
答案 0 :(得分:2)
https://wiki.jenkins-ci.org/display/JENKINS/NodeLabel+Parameter+Plugin
安装此插件后,您可以选择向Jenkins作业添加Node
参数。它将包含当前主站上可用的所有从站的列表。
答案 1 :(得分:0)
您可以使用主动选择参数插件 https://plugins.jenkins.io/uno-choice/ 使用一个小脚本在参数选择框中列出节点名称。