Отображение исключения при подключении ведомого устройства к ведущему с помощью headless jnlp
Я использую версию Дженкинс 1.447.2.Мой хозяин-Linux и раб окна
Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Hudson agent is running in headless mode.
Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://10.10.1.162:8080/jenkins/, http://dem
Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to demo.sigmainfo.in:8050
Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Jul 27, 2012 12:44:58 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: The server rejected the connection:
java.lang.Exception: The server rejected the connection:
at hudson.remoting.Engine.onConnectionRejected(Engine.java:258)
at hudson.remoting.Engine.run(Engine.java:233)
Я получаю выше ошибки, пытаясь соединить раба с хозяином Дженкинса..Я получил эту ошибку, так как я делаю мастер как статический.(ИНТЕЛЛЕКТУАЛЬНАЯ СОБСТВЕННОСТЬ).
Как решить эту проблему?
3 ответа:
Проблемы с подключением jnlp slave обычно возникают из-за неправильной настройки "Jenkins URL" в глобальной конфигурации Jenkins. Пожалуйста, проверьте это.
Если настройка верна, я думаю, вам нужно серьезно рассмотреть возможность того, что что-то блокирует соединение между вашим Windows slave и Linux master. Может ли быть установлен брандмауэр на одном или обоих хостах?
Если есть брандмауэр, вы можете сначала настроить фиксированный порт для соединений JNLP, а затем настроить брандмауэр в Linux мастер для приема входящих подключений к этому порту и настроить брандмауэр Windows для приема исходящих подключений к этому порту.
Первая часть, которую я могу показать вам: перейти к Jenkins master, управление Jenkins, Конфигурация системы. Установите флажок "активировать защиту".
Появится новый раздел. Установите флажок "TCP-порт для подчиненных агентов JNLP" и задайте любой свободный номер порта, который вы хотите. Обратите внимание, что некорневые процессы не могут использовать порты ниже 1024, поэтому вы должны выбрать что-то сверх этого. Номера портов являются 16-битными целыми числами без знака, поэтому максимальное значение равно 65535.
Вторая часть о конфигурации брандмауэра, с которой я не могу вам помочь. Как разрешить доступ к порту JNLP полностью зависит от программного обеспечения брандмауэра на вашем ведущем и ведомом устройствах. Пожалуйста, обратитесь к руководствам тех для получения подробной информации.
Если это все еще не работает, я предлагаю вам использовать
tcpdump host demo.sigmainfo.in
, чтобы увидеть, действительно ли ведомый передает пакеты к правильному интерфейсу правильного хоста.
Однажды у меня была эта ошибка, потому что у меня уже было соединение, поэтому проверьте свои соединения.
С Windows master и Mac Jenkins slave, я получил;
Потому что я изменил учетные данные нашей машины и не сообщил об этом Дженкинсу. Поскольку ошибка кажется настолько далекой от проблемы,я подумал, что напишу для себя в будущем.java.lang.exception: the serverrejected the connection: None of the protocols were accepted