Обновлено
У меня есть Jenkins Slave (ПК с Windows), который имеет переменную среды JAVA_HOME
. Я обновил версию Java на Slave, поэтому я также обновил переменную среды.
Когда я смотрю на системные свойства этого ведомого через веб-интерфейс Jenkins, свойство JAVA_HOME
отображается как старое.
Запуск echo %PATH%
на ПК с Windows показывает правильные значения.
Запуск println System.getenv("PATH")
в консоли Jenkins Node script для Slave показывает старое значение JAVA_HOME.
Я попытался удалить и снова добавить Slave и перезапустить сервер Jenkins. Тем не менее старое значение не обновляется.
Любые мысли?
Ответы
Ответ 1
Hudson/Jenkins не использует переменные подчиненной среды, поскольку поддерживает несколько версий Java, поэтому вы настраиваете переменные домашней среды java в графическом интерфейсе.
Что вам нужно сделать, это пойти в Manage Hudson/Jenkins, а затем выбрать Manage Nodes. Выберите Node, который вы хотите настроить из списка, а затем выберите "Настроить". Внизу внизу находится раздел Node Свойства. Установите флажок "Местоположения инструментов". Нажмите "Добавить", затем выберите свой JDK в раскрывающемся списке и добавьте к нему новый путь.
Ответ 2
Это ошибка в Jenkins: https://issues.jenkins-ci.org/browse/JENKINS-27739
3 способа решения (я лично подтвердил каждый):
- Обновление Jenkins до >= 1.617 (рекомендуется)
- Перезапустить мастер Дженкинса
- Удалить подчиненное Jenkins, а затем повторно добавить его
Ответ 3
Перезапустите ведомое устройство, это устраняет проблему в моей конфигурации.