我想运行相同的shell命令(非常简单的shell命令,如ls
)的所有UNIX从连接到主通过使用主的脚本控制台。
如何使用Groovy实现这一点?
我想做这样的事情:Display Information About Nodes,但不是显示信息,我还想在每个从机上运行一些简单的UNIX命令并打印结果。
我想运行相同的shell命令(非常简单的shell命令,如ls
)的所有UNIX从连接到主通过使用主的脚本控制台。
如何使用Groovy实现这一点?
我想做这样的事情:Display Information About Nodes,但不是显示信息,我还想在每个从机上运行一些简单的UNIX命令并打印结果。
5条答案
按热度按时间w1jd8yoj1#
字符串
gk7wooem2#
直到最后,我都不使用 * 来搜索代理,而是阅读和解析它们的名称。例如,如果我想在名称中包含Linux的每个代理上运行作业,我将执行以下操作:
字符串
1l5u6lss3#
管道看起来像这样:
字符串
然后是文件generate_projects.groovy,其中实际的DSL生成是:
型
除了上面生成的作业之外,您还需要保留一个已生成作业的列表,并将其所有元素添加到“build-all”管道作业中,看起来像这样:
型
因此,当您运行管道时,将为每个代理创建一个作业,并且所有新创建的作业将并行运行。
ijnw1ujt4#
很老的线。
我在接下来的方式管理同样的情况。我有一个管道工作,正在做下一个阶段:-首先它检查在线代理(由于它们是物理机器,因此可能会发生停机)使用以下内容:为“(slave in hudson.model.哈德逊.instance.slaves).”-下一阶段是使用DSL插件和list_of_agents. each为每个找到的代理创建作业。除了为每个在线代理创建作业之外,它创建了一个作业,将并行运行所有这些作业。当然,新创建的作业包含我想在代理上运行的命令。当我运行管道时,所有代理将运行相同的脚本/命令,输出返回到主管道作业。
jmp7cifd5#
如果你需要使用管道或链式命令,这是另一种解决方案:(正如Graeme在评论中所建议的那样)
字符串