Назад | Перейти на главную страницу

Как заставить Хадсона записывать на удаленный диск?

У меня проблема с записью на удаленный диск с помощью 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, так что это определенно можно сделать таким образом.