Отображение исключения при подключении ведомого устройства к ведущему с помощью 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   4  

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
Потому что я изменил учетные данные нашей машины и не сообщил об этом Дженкинсу. Поскольку ошибка кажется настолько далекой от проблемы,я подумал, что напишу для себя в будущем.