我遇到了Jenkins问题,当我关闭我的节点时,在Jenkins中他们仍然在运行,并且它们可以运行近20分钟,也可以构建可以接受此节点并从中开始,因此他们失败。也许有办法减少这个时间?我认为詹金斯配置有问题,但我不知道在哪里,帮助。
答案 0 :(得分:2)
您最好的选择是导航到Jenkins中的从属页面并单击"离线"按钮。这会使从属设备脱机,即它不会从队列中获取新的构建。
更好的是点击"断开"按钮,关闭从属代理并断开与从属设备的连接。然后你可以安全地关闭从节点。
也可以使用Jenkins命令行客户端执行脱机和断开连接(请参阅https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI)。
如果无法做到这一点,则必须使用从属类型,它允许您指定自己的方式连接到从属(https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-WriteyourownscripttolaunchJenkinsslaves)。然后,您必须使用类似SSH隧道的配置为使用keepalive或其他方式" ping"另一端发现它是否已经消失。
你知道,如果另一台计算机没有告诉另一端,那么TCP连接就不会消失。检测连接是否存活的唯一方法是发送一些东西。可以配置操作系统TCP / IP堆栈以启用对TCP连接的keepalive检查,但TCP级别keepalive检查仅发生在一小时一次。如果您需要更快地检测死连接,则必须在应用层完成。