У меня проблема с записью на удаленный диск с помощью Hudson. Когда я пишу в него вручную, работает.
Подразумевается, что два компьютера: один работает под управлением Windows XP, а другой - сервер Mac mini. Диск, к которому необходимо получить удаленный доступ, находится на Mac. Мне удалось следующее:
Но когда Хадсон запускает свой сценарий сборки, который я запрограммировал для записи чего-либо в эту смонтированную папку, он терпит неудачу, говоря:
BUILD FAILED
C:\path\to\build.xml:62:
Directory Z:\mac\path creation was not successful for an unknown reason
Я могу создать Z: \ mac \ path с того же компьютера (удаленно), и он отлично работает. Фактически, каталог уже существует, но я хочу, чтобы он все равно попытался создать его, если он был удален. Я делаю то же самое на локальном диске, и он никогда не жаловался (существует каталог или нет).
Соответствующая инструкция Ant будет
<mkdir dir="Z:/mac/path/"/>
Я подозреваю, что это какая-то проблема с разрешением. Не совсем уверен. Пользователь, установивший диск на компьютер, не является СИСТЕМОЙ ... в то время как Хадсон управляется «им». Имена пользователей на компьютере WinXP не имеют ничего общего с пользователем Mac, который использовался для монтирования удаленной файловой системы (NTFS).
Что я мог сделать? Он хорошо установлен как Z :. Я могу просматривать и редактировать его без проблем. Однако эта строка все еще не вычисляется в Hudson (пока она проходит на C :). Не думаю, что можно смонтировать с помощью СИСТЕМЫ ... Помогите, пожалуйста!
Я только что решил аналогичную проблему, поэтому, надеюсь, это решение сработает для вас ... но прошло уже 9 месяцев, поэтому, возможно, оно поможет следующему человеку. Основная проблема заключается в том, что если Tomcat работает как служба, ваши сценарии выполняются как SYSTEM.
Откройте командную строку как SYSTEM для тестирования (установите время на минуту)
at 12:34 /interactive "cmd.exe"
Испытайте прочь ...
C:\.jenkins\jobs\test\workspace>dir \\remotemachine\folder
Access is denied.
Решите, назначив диск как пользователь с достаточными разрешениями (в данном случае с правом записи)
NET USE z: \\remotemachine\folder password /USER:username\domain
Имена пользователей на компьютере WinXP не имеют ничего общего с пользователем Mac, который использовался для монтирования удаленной файловой системы (NTFS).
Попробуйте создать учетную запись с одним и тем же именем пользователя и паролем в обеих системах, и пусть ваш процесс Hudson (или служба, если она установлена таким образом) запускается от имени этого пользователя.
Другой способ - использовать команду NET USE, как указано в KCD, однако параметры параметра / USER - это домен \ имя пользователя, а не имя пользователя \ домен.
Я использую команду NET USE в своей среде для сопоставления, а затем записи удаленного диска на NAS, так что это определенно можно сделать таким образом.