Как использовать RVM с сервером Hudson CI в Debian? - PullRequest
4 голосов
/ 23 мая 2010

Я пытаюсь настроить автоматизированный сервер "build" для моих проектов rails, используя Hudson CI.Пока что он может запускать спецификации и метрики кода, но у меня есть 2 разных проекта, зависящих от 2 разных версий ruby.Поэтому я пытаюсь использовать RVM для запуска нескольких копий ruby, а затем переключаться назад и вперед на этапе предварительной сборки.

Я нашел пару сообщений, таких как этот , которые пытаются объяснить, как заставить это работать, но я не запускаю скрипт запуска для hudson, он запускается при загрузке, как этоработал из коробки, когда я установил его с помощью инструкций Debian.

Проблема, по-видимому, заключается в том, что, несмотря на то, что hudson работает под учетной записью «hudson» и на этой учетной записи установлен (и работает) rvm, когда он пытается запустить шаг предварительной сборки на основе оболочки для вызова rvm switch 1.8.7завершается с ошибкой «rvm: команда не найдена»

Не уверен, что я делаю неправильно.Хадсон использует SH в качестве оболочки, но я также пытался использовать bash.неудачно.

Кто-нибудь раньше работал в этой настройке?

Ответы [ 2 ]

3 голосов
/ 18 июня 2010

отредактируйте "/etc/init.d/hudson" (!) И измените строку:

SU=/bin/su

... изменить на:

SU="/bin/su -"

... и добавьте настройки rvm в /home/hudson/.profile

1 голос
/ 11 августа 2010

У меня были те же симптомы, что и у вас.

После нескольких часов тряски головой проверьте переменную среды $ HOME для Hudson (доступно для просмотра http://yourserver/hudson/systemInfo).

В Ubuntu стартовый скрипт Tomcat 6 не устанавливает $ HOME. Каким-то образом Хадсон унаследовал мой $ HOME!

Я добавил HOME = $ CATALINA_HOME к сценарию /etc/init.d/tomcat6 чуть ниже остальных объявлений ENV, и теперь все это работает. Конечно, очень раздражающая проблема.

...