У меня есть проблемы с ошибкой (перезапуск) подчиненных Hudson на машинах с Windows XP, которые расположены в другом кампусе (не так близко к серверу hudson, но скорость сети приличная и надежная - получите ~ 400-800 КБ / s на тесте).
Сервер Hudson работает на OS X под Tomcat.
hudson-slave.err.log
:
Exception in thread "main" java.net.SocketTimeoutException: Accept timed out
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(Unknown Source)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at hudson.remoting.Launcher.runAsTcpServer(Launcher.java:303)
at hudson.remoting.Launcher.run(Launcher.java:202)
at hudson.remoting.Launcher.main(Launcher.java:167)
hudson-slave.wrapper.log
:
2010-10-11 12:22:18 - Started 3116
2010-10-12 00:52:11 - Starting javaw.exe -Xrs -jar "d:\.hudson\slave.jar" -tcp d:\.hudson\port.txt
2010-10-12 00:52:12 - Started 3312
2010-10-12 02:12:05 - Starting javaw.exe -Xrs -jar "d:\.hudson\slave.jar" -tcp d:\.hudson\port.txt
2010-10-12 02:12:05 - Started 1332
2010-10-12 02:36:05 - Starting javaw.exe -Xrs -jar "d:\.hudson\slave.jar" -tcp d:\.hudson\port.txt
2010-10-12 02:36:05 - Started 2972
2010-10-12 03:56:05 - Starting javaw.exe -Xrs -jar "d:\.hudson\slave.jar" -tcp d:\.hudson\port.txt
2010-10-12 03:56:05 - Started 632
Журнал событий:
Event Type: Warning
Event Source: hudsonslave-d__.hudson
Event Category: None
Event ID: 0
Date: 10/12/2010
Time: 3:56:36 AM
User: N/A
Computer: GWATANAB370-XP
Description:
Child process [632 - javaw.exe -Xrs -jar "d:\.hudson\slave.jar" -tcp d:\.hudson\port.txt] terminated with 1
Другая странная вещь заключается в том, что я вижу, что файл slave.jar
всегда неполон. Длина одного с сервера 131131
байт, но загруженного на клиент всегда меньше, чем этот.
На мониторе узла последний шаг - Copying slave.jar
и остается таким же всегда.
В случае, если не было очевидно, что узел настроен для запуска с опцией Let Hudson control this Windows slave as a Windows service
. Для меня это самый надежный метод, который должен быть безопасным, даже если сервер или клиент hudson перезагружен.