在Jenkins上的Groovy中重新启动Windows计算机

时间:2019-08-03 23:06:47

标签: jenkins-groovy jenkins-cli

我想在Groovy中编写一个重新启动命令以重新启动Jenkins上的Windows计算机。

我知道shutdown命令是shutdown /r /f,但是我将如何在Groovy中使用它呢?同样,这些服务器将可以远程访问。

1 个答案:

答案 0 :(得分:1)

我不确定是否有帮助,但是您应该能够使用Jenkins DSL'bat'命令在Windows代理上执行该命令。

def agentNameOrLabelGroup = 'windows'

node (agentNameOrLabelGroup) {
  bat 'shutdown /r /f'
}

我建议提供一个延迟,以便Jenkins的执行上下文有时间释放代理。否则,我希望在代理运行时关闭该代理将导致作业失败。

如果您需要多台计算机,我想我会为nodeByLabel使用jenkins插件来获取所有“ Windows”计算机,然后循环遍历它们。

def agents = nodesByLabel(label: 'windows')

for (agent in agents) {
  node (agent) {
    bat 'shutdown /r /f'
  }
}

https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#nodesbylabel-list-of-nodes-by-label-by-default-excludes-offline-nodes

好运