Отключение ведомого устройства Jenkins ssh для продолжения выполнения задачи

У меня есть задание архивации iOS на ведомом устройстве Mac, которое займет много времени, иногда 30 минут. Вопрос в том, что длинное соединение ssh часто отключается и приводит к сбою задачи.

Теперь я хочу спросить, как мне избежать этого вопроса? Я ищу, когда долгое соединение разрывается, но задача продолжает выполняться. Как я могу сделать?


person HarrisHan    schedule 23.03.2018    source источник


Ответы (1)


Добавление опции keepAlive - это запрос функции с 2014 года

В качестве предлагаемых обходных путей этот билет включает в себя:

  1. Измените /etc/ssh/ssh_config, добавив следующую строку в конец этого файла. Это указывает клиенту ssh периодически отправлять команду nop, чтобы избежать разрыва соединения ssh.
    Единица измерения 80 - секунды. Вы можете настроить этот параметр в зависимости от состояния вашей сети.
ServerAliveInterval 80
  1. На странице конфигурации ведомого устройства Jenkins измените метод запуска на «Launch slave via execution of command on the Master». Дополнительные сведения см. Во встроенной справке Jenkins.

Пока я не вижу проблем в этой конфигурации. Надеюсь это поможет.

См. Также «Проблемы удаленного взаимодействия / подчиненные устройства SSH».

person VonC    schedule 23.03.2018
comment
Спасибо, Vonc, теперь я использую launch agent via excution of command on the masternow. Мои jenkins работают в контейнере докеров, главным является Linux. Теперь вопрос в том, что он не может отображать URL-адрес кодирования emoji и ruby, возвращая результат ошибки, раннее подключение через ssh - это хорошо, у вас знаю, как я могу это исправить? - person HarrisHan; 10.06.2018