Дженкинс раб не может найти SVN - PullRequest
1 голос
/ 24 марта 2012

У меня не работает задание на ведомом устройстве, которое работает нормально на ведущем устройстве.SVN устанавливается в том же месте на ведущем устройстве, что и на ведомом /usr/local/bin/svn.У меня есть пользователь Jenkins на подчиненном устройстве, и он может запускать svn --version OK.

[INFO] Executing: /bin/sh -c cd /var/jenkins/workspace/projecta && svn --non-interactive update /var/jenkins/workspace/projecta

[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] /bin/sh: svn: not found

Я использую плагин Subversion, и он отлично работает на подчиненном устройствеработает в начале работы.Кажется, проблема в том, что некоторые модули используют плагин номера сборки maven.

Как вы можете видеть в журнале выше, он запускает скрипт, который, кажется, работает как пользователь Jenkins на ведомом устройстве и подбирает клиент на хосте, который является другой версией.

Итак, я думаю, что он проверяет код с версией плагина Subversion, а затем пытается обновить более старую версию в PATH хоста.На мастере все работает нормально, так как у него только одна версия SVN.

1 Ответ

7 голосов
/ 26 марта 2012

Примечание : Jenkins Shell работает как / bin / sh, а не как bash, поэтому многие пути, которые вы ожидаете получить в bash, на самом деле отсутствуют. Даже если вы успешно выполните svn --version как пользователь jenkins, скорее всего, вы используете bash (и поэтому он загрузил определенные нормальные пути в переменную PATH).

ВАРИАНТ 1

Добавьте следующее в «Execute Shell» или сценарий оболочки:

PATH = $ PATH: / USR / местные / бен

Это должно позволить ему найти подрывную деятельность. Тем не менее, вы должны делать это для каждой работы.

ВАРИАНТ 2 - лучший вариант

Другой вариант - добавить на страницу конфигурации ведомого устройства следующее:

Настройка

Переменные среды

name = PATH значение = $ PATH: / usr / local / bin

Это должно установить его автоматически для каждой сборки, которую вы запускаете на этом ведомом устройстве. Вы можете найти другие пути здесь, как считаете нужным.

Опять же, обратите внимание, что когда вы переходите к «Системной информации» на ведомой странице, она не будет отображаться (она показывает вашу Системную информацию по умолчанию). Тем не менее, он будет добавлен для каждой сборки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...