将 salt minion id 从平面文件传递到 Jenkins 管道

Passing salt minion id to Jenkins pipeline from a flat file

我正在那里寻找一些想法。我有一组 Jenkins 管道作业。目标机器/Minion 名称作为参数传递到作业中,作业 运行 正常。我被要求通过一个文件来驱动它。 。IE。所有 minion id 或目标机器都列在一个平面文件中,我希望 Jenkins 在循环中选择机器名称并执行管道。管道在后台运行盐状态文件。任何想法,如何实现这一目标。

如果您有包含 minions 列表的文件 minions.txt,例如

minion_01
minion_02
minion_03
当您使用 -L/--list 选项时,

salt 可以按列表定位小兵。

您可以致电test.ping 通过以下命令在这些小兵上:

salt --list `awk -vORS=, '{ print  }' minions.txt | sed 's/,$/\n/'` test.ping

ORSawk 中的输出记录分隔符,您要求 awk 逐行打印文件,但使用 , 作为分隔符输出行。 sed 删除最后一个条目。

最后,您可以使用 sh """ ... """

将其包装在 Jenkins 中