Windows从属服务器处于挂起状态-使用Azure VM代理插件

Windows从属服务器处于挂起状态-使用Azure VM代理插件,azure,jenkins,jenkins-plugins,jenkins-pipeline,Azure,Jenkins,Jenkins Plugins,Jenkins Pipeline,在我重新启动从Azure VM(维护)后,我的Windows从系统被挂起,并且当从系统备份并运行并成功连接到Jenkins时,挂起状态未被删除,这让我有了一些奇怪的行为 我已经复制了3次-对于每个虚拟机,我一直在手动安装额外的软件,这需要重新启动,但在重新启动后,我计划的任何构建作业都会挂起,并显示消息“等待windows上的下一个可用执行器”,从节点在Jenkins中显示为联机,但在其旁边有“(挂起)”,然后,Azure VM代理插件最终只是创建了一个新的VM并在此基础上运行构建 从日志中提取

在我重新启动从Azure VM(维护)后,我的Windows从系统被挂起,并且当从系统备份并运行并成功连接到Jenkins时,挂起状态未被删除,这让我有了一些奇怪的行为

我已经复制了3次-对于每个虚拟机,我一直在手动安装额外的软件,这需要重新启动,但在重新启动后,我计划的任何构建作业都会挂起,并显示消息“等待windows上的下一个可用执行器”,从节点在Jenkins中显示为联机,但在其旁边有“(挂起)”,然后,Azure VM代理插件最终只是创建了一个新的VM并在此基础上运行构建

从日志中提取:

2018年5月25日下午3:47:29 hudson.remoting.SynchronousCommandTransport$ReaderThread严重运行: 通道slavew823810 java.io.IOException中的I/O错误:意外 信道在以下位置终止: hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77) 原因:java.io.EOFException位于 java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2679) 在 ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3154) 在 readStreamHeader(ObjectInputStream.java:862) 位于java.io.ObjectInputStream。(ObjectInputStream.java:358)位于 ObjectInputStreamEx.(ObjectInputStreamEx.java:48) 在 remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 在 hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)

2018年5月25日下午3:47:34 hudson.model.AsyncPeriodicWork$1运行信息: 已启动Azure VM代理清理任务2018年5月25日下午3:47:34 com.microsoft.azure.vmagent.AzureVMAgentCleanUpTask执行信息: AzureVMAgentCleanUpTask:执行:开始2018年5月25日下午3:47:34 com.microsoft.azure.vmagent.AzureVMAgentCleanUpTask执行信息: AzureVMAgentCleanUpTask:execute:以5分钟超时干净运行 2018年5月25日下午3:47:34 com.microsoft.azure.vmagent.azureVMagentCleanuptTask cleanVMs信息: AzureVMAgentCleanUpTask:cleanVMs:node slavew56f680被阻止到 清理2018年5月25日下午3:47:34 com.microsoft.azure.vmagent.AzureVMManagementServiceDelegate 虚拟机存在信息:AzureVMManagementServiceDelegate: 虚拟机存在者:查看slavew823810 2018年5月25日下午3:47:34 com.microsoft.rest.interceptors.LoggingInterceptor日志信息:尝试使用system groovy命令(或类似的Azure VM命令):

似乎没有其他方便的方法来取消支出

在将节点设置为以下位置时,我们遇到了类似的困境:

可用性:“根据时间表使此代理联机

然后将其翻转回“尽可能使此从机保持在线” 当它们仍处于停机窗口时。节点已联机但已挂起


找不到关于此的任何文档,或者为什么没有GUI切换选项,如“脱机”或“断开连接/启动”。

对于阅读此文档的任何其他人,“azure vm代理”“插件在处理azure返回的错误方面做得很差。最安全的方法是断开代理,在azure中关闭它,然后从jenkins脚本控制台运行以下操作

Jenkins.instance.getNode(“”).toComputer().setAcceptingTasks(false); Jenkins.instance.getNode(“”).toComputer().setEligibleForReuse(true)

这将使它回到离线/暂停模式

谢谢你的回复Ian:-)我不再从事该项目,团队采取了不同的路径,因此无法验证是否修复了该问题。
Jenkins.instance.getNode('Node-Name').getComputer().setAcceptingTasks(true)