Jenkins Slave Переменная Окружения Обновить


У меня есть Jenkins Slave (компьютер с Windows), который имеет переменную окружения JAVA_HOME. Я обновил версию Java на ведомом устройстве, поэтому я также обновил переменную среды.

Когда я смотрю на системные свойства этого ведомого устройства через веб-интерфейс Дженкинса, свойство JAVA_HOME сообщается как старое.

Запуск echo %PATH% на ПК с Windows показывает правильные значения. Запуск println System.getenv("PATH") на консоли скрипта узла Дженкинса для ведомого устройства показывает старое значение JAVA_HOME.

Я пытался ... удалите и добавьте ведомое устройство еще раз и перезагрузите сервер Дженкинса. По-прежнему старое значение не обновляется.

Какие-нибудь мысли?

3 13

3 ответа:

Hudson/Jenkins не использует подчиненные переменные среды, поскольку он поддерживает несколько версий java, поэтому вы настраиваете переменные домашней среды java в GUI.

Что вам нужно сделать, это перейти к управлению Hudson/Jenkins, а затем выбрать Управление узлами. Выберите узел, который вы хотите настроить, из списка и затем выберите Настроить. Внизу есть раздел свойств узла. Установите флажок "расположение инструментов". Нажмите кнопку Добавить, затем выберите свой JDK в выпадающем списке и добавьте новый путь к нему.

Это ошибка в Дженкинсе: https://issues.jenkins-ci.org/browse/JENKINS-27739

3 способа решения (я лично подтвердил каждый):

  1. обновить Дженкинса до >=1.617 (рекомендуется)
  2. перезапустить Дженкинса мастер
  3. удалить Jenkins slave, а затем снова добавить его

Перезагрузите ведомое устройство, это исправило проблему на моей конфигурации.