Проблема при выполнении экспорта SVN с использованием Hudson, который работает как сервис - PullRequest
1 голос
/ 30 июня 2011

У меня есть скрипт, который выполняет сборку, а также выполняет экспорт SVN.Когда я запускаю hudson вручную, запустив его от имени пользователя root, я могу выполнить сборку и экспорт svn без проблем.

Если я вызываю hudson с помощью службы (chkconfig), hudson работает нормально.Проверка SVN (предположим, что это URL1) также подойдет, поскольку учетные данные хранятся в конфигурации hudson.Однако, когда мой скрипт пытается выполнить экспорт SVN (отличается от URL1; допустим, это URL2), он всегда терпит неудачу.Там написано «Пароль для« root »: область аутентификации».В основном это ошибка, потому что мой сервер сборки не может предоставить необходимые учетные данные для входа в SVN.Это то, чего я не понимаю, потому что я храню учетные данные svn в своей учетной записи root и не испытываю проблем при выполнении обновления svn / svn info для URL2 из оболочки или при запуске hudson вручную (не как служба).

Сейчас я думаю, что когда мы запускаем приложение как службу, оно не загружает некоторые / все сохраненные пользовательские конфигурации?Любая идея, как я могу заставить службу загружать мои учетные данные SVN?Любое другое решение / понимание также приветствуется.

Кстати, мой сервер сборки работает под управлением Red Hat 5.6

Спасибо !!!

Ответы [ 3 ]

2 голосов
/ 30 июня 2011

Сравнение вывода env в обоих контекстах (в пределах hudson и в вашей оболочке) должно помочь вам решить эту проблему.

2 голосов
/ 30 июня 2011

Не могу дать вам подробный ответ, но одно из различий между интерактивной оболочкой и тем, что при запуске в качестве службы первый запускается при чтении ~ / .bash_profile, а второй запускает ~ / .bashrc Попробуйте сравнить два!

0 голосов
/ 30 июня 2011

По умолчанию SVN сохраняет учетные данные пользователя в соответствующем домашнем каталоге.Когда сервер перезапускается, он не будет загружать ваш профиль (в моем случае, / etc / profile), как указано Tobu.Таким образом, чтобы решить эту проблему, нам просто нужно установить папку HOME в правильное местоположение.Измените сценарий службы для своих приложений, добавив в него следующую строку:

HOME=/<<user home folder location>>

Это решает мою проблему.

...