Задание Дженкинса застряло в «[EnvInject] - Загрузка переменных среды узла» - PullRequest
0 голосов
/ 12 февраля 2020

У меня была эта проблема, когда я отправлял задание на один из моих узлов, и иногда задание зависало на

[EnvInject] - Loading node environment variables.

Проблема началась, когда я переместил свой компьютер Jenkins от Amazon EC2 до Azure VM. Каждый раз, когда это происходило, я останавливал и перезапускал агента на узле, чтобы через несколько минут / часов он снова зависал. Обычно я прекращал работу через несколько минут, но если бы я ее запустил, через ~ 15 минут я получил бы следующее:

FATAL: java.io.IOException: Unexpected termination of the channel

Я попробовал следующие решения, но без посторонней помощи:

  1. Переименовать задание
  2. Создать новое задание (которое запускает только базовую команду c)
  3. Снимите флажок «Использовать TCP_NODELAY» в соединении S SH '
  4. Добавление' -Dhudson.slaves.ChannelPinger.pingInterval = 2 'к параметрам JVM

Моя архитектура в то время была:

  • Jenkins as docker контейнер на Azure VM (Ubuntu 18.04)
  • Jenkins ver 2.202
  • S SH Плагин Build Agents версии 1.31.1
  • Узел на MacOS Mojave

1 Ответ

0 голосов
/ 12 февраля 2020

Решением, которое как бы решило проблему (теперь это происходит раз в несколько дней или даже лучше), было добавление ClientAliveInterval 120 к /etc/ssh/sshd_config и повторный запуск com.opens sh .sshd

sudo launchctl stop com.openssh.sshd

sudo launchctl start com.openssh.sshd

...