Невозможно выполнить сценарий оболочки на подчиненном устройстве с помощью Jenkins

Я пытаюсь запустить тесты JUnit на ведомом устройстве через Jenkins. Конфигурация подчиненного устройства прошла успешно, и мастер, кажется, распознает рабочее пространство подчиненного устройства, но не может выполнить команду java через «Выполнить оболочку» в разделе «Сборка». Код из системы управления исходным кодом не вытаскивается, а значит, нет сборок. Это задание предназначено только для запуска теста на ведомом устройстве.

Building remotely on qa-slave in workspace /home/ubuntu/Desktop
[Desktop] $ /bin/sh -xe /tmp/hudson2639231287347256677.sh
+ ./run.sh
Error: Could not find or load main class org.junit.runner.JUnitCore
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Я получаю ту же ошибку, если заменяю run.sh на

java org.junit.runner.JUnitCore OneGateTesting.TestSuiteRunner

Я могу запустить это локально на ведомом устройстве.


person Jai    schedule 28.03.2014    source источник
comment
Под какой учетной записью вы входите и запускаете ее? Попробуйте войти в систему с помощью пользователя jenkins и запустить java. Дайте нам знать, что вы наблюдаете   -  person Mayur Nagekar    schedule 28.03.2014
comment
Я использую учетную запись, которую использую для ssh к подчиненному. Я заметил, что у меня нет пользователя jenkins, но user.name — tomcat7 на мастере (согласно системной информации jenkins), и я не знаю, что такое пароль.   -  person Jai    schedule 28.03.2014


Ответы (1)


Я обошел эту проблему, предоставив «другой» группе те же разрешения, что и для владельца и группы для папок, содержащих тест, на компьютере с Linux. При этом мне не нужно было sudo -u jenkins запускать тесты с мастера. Также мне пришлось включить экспорт CLASSPATH в этот тестовый сценарий, так как он не мог получить файл .bashrc.

person Jai    schedule 08.04.2014