Дженкинс не может копировать файлы на удаленный хост Windows

У меня есть сервер Jenkins на OS X 10.7, который опрашивает сервер Subversion, создает код и упаковывает приложение. Последний шаг, который мне нужно выполнить, — это развертывание приложения на удаленном хосте, который является общим ресурсом Windows. Обратите внимание, что у моей учетной записи домена есть доступ на запись к целевой папке, и том смонтирован. Я попытался использовать этап сборки сценария оболочки:

sudo cp "path/to/app" "/Volumes/path/to/target"

Однако я получаю ответ «нет tty». Мне удалось успешно запустить эту команду в терминале, но не как шаг сборки в Jenkins.

Это как-то связано с пользователем, который используется при запуске Jenkins? В качестве примечания: user.name по умолчанию — jenkins, а мой JENKINS_HOME находится в /Users/Shared/Jenkins. Буду признателен за любую помощь в том, как этого добиться.


person user1418647    schedule 26.05.2012    source источник


Ответы (1)


Ваша немедленная проблема заключается в том, что вы используете Jenkins в фоновом режиме, и sudo хочет ввести пароль. Запустите Дженкинса на переднем плане с помощью $ java -jar jenkins.war.

Однако это, скорее всего, не решит вашу проблему, поскольку вам будет предложено ввести пароль при запуске команды - с терминала, с которого вы запустили Jenkins (предположительно, это не то, что вам нужно). Вам нужно найти способ копировать файлы без прав root. В общем, не стоит полагаться на административные разрешения в своих сборках (есть исключения, но не в вашем случае).

person malenkiy_scot    schedule 27.05.2012
comment
@ user1418647, был ли этот ответ полезен? - person malenkiy_scot; 12.06.2012