Дженкинс не может видеть подключенный диск
Я получаю следующую ошибку при попытке выполнить сборку в Jenkins:
Started by user anonymous
Building in workspace C:\Users\mryan\git\AML
[AML] $ cmd /c call C:\Users\MRYAN~1.ASA\AppData\Local\Temp\hudson3772834793680550098.bat
C:\Users\mryan\git\AML>asc-tree -v cs1 .
Array @filter_prune missing the @ in argument 1 of push() at C:\asc\asc\win2k/asc-tree. line 293.
asc-tree.: ASC (=Z:\asc) is not a directory!
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Когда я открываю обычную командную строку и запускаю ту же команду (asc-tree -v cs1 .), Она работает нормально.
Я посмотрел здесь и попытался использовать обозначение UNC в моих переменных среды вместо "Z:\", но это просто дало мне ту же ошибку с именем машины вместо диска.
Я также попытался изменить службу, чтобы использовать данные своей учетной записи вместо "Учетная запись локальной системы", но, похоже, это не помогло.
У кого-нибудь есть идеи?
3 ответа
После этого ответа мне удалось заставить его работать.
Решение можно найти в статье службы поддержки Aspera: как навсегда подключить сетевые ресурсы на диски к службе Windows.
Решение:
Чтобы сетевые общие ресурсы были сопоставлены с дисками и доступны в службах Windows, необходимо войти в систему как учетная запись NT AUTHORITY\SYSTEM.
Для этого загрузите Sysinternals Suite от Microsoft и разархивируйте его в каталог, скажем C:\TEMP. В следующих шагах предполагается, что вы распаковали SysInternals в C:\TEMP и все исполняемые файлы находятся там.
- Запустите командную строку от имени администратора.
CD \TEMP
psexec -i -s cmd.exe
Это запускает новое окно командной строки, и шаг 4 должен быть выполнен в этом новом окне.
net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes
Укажите учетные данные пользователя, имеющего доступ к общей папке.Создайте сценарий, который запускается при запуске компьютера и содержит только строку 4 в соответствии со статьей Microsoft: " Назначьте сценарии запуска компьютера".
Столкнулся с той же проблемой в Windows Server 2008. Настроил правильные учетные данные пользователя в агентской службе Jenkins и перезапустил, но это тоже не помогло.
Наконец, сработало то, что агент был запущен через Java Web Start без установки его в качестве службы Windows.
Не знаете, какова точка шагов с 1 по 3 для ответа TomSellek, вам нужен только шаг 4. Выберите «систему» пользователя при создании задачи в параметрах безопасности.