Если у вас нет домена, следующее наверняка сработает.Это должно работать, даже если у вас есть домен.
Справочная информация: Вам необходимо, чтобы ваш подключенный диск был сопоставлен с той же учетной записью, которую использует служба, и будет доступен в нужное время.Нормально сопоставленные диски отображаются только для вошедшего в систему пользователя во время входа в систему. Контексты пользователей службы не «входят в систему» как таковые - например, если я сопоставляю диск как MyUser, а служба работает какMyUser, диск не будет доступен, пока я не войду в систему, введя свой пароль.Однако мы можем использовать скрипт для сопоставления диска при запуске (вместо входа в систему) для конкретного пользователя.Обычно Jenkins работает как локальная системная учетная запись, поэтому, если вы не хотите это менять, вам нужно будет запустить приведенный ниже сценарий как пользователь SYSTEM
.Вместо этого вы можете создать конкретного пользователя для запуска Jenkins от имени, если вы не хотите предоставлять этот сопоставленный диск всем службам / процессам, которые запускаются как SYSTEM
, и запускать как службу, так и сценарий ниже под этим пользователем (это вероятно более безопасный).
Шаги решения: В ArtifactDeployer вы хотите развернуть на подключенный сетевой диск.В моем случае это S:.
Специальных настроек разрешений для удаленного общего ресурса нет.(В моем случае общий ресурс Windows Server 2008 с именем пользователя и паролем, который используется для сопоставления диска.)
Запись пакетного файла MapDrives.bat
в месте, выбранном пользователем (по умолчанию: SYSTEM
) имеет доступ к следующему:
net use S: "\\server_name\share_name" /persistent:yes password_here /USER:username_here
Обратите внимание, что я сопоставляю S: в этой строке.
С помощью планировщика заданий создайте задачу, которая выполняется так жеПользователь в качестве службы (по умолчанию: SYSTEM
), запускает At Startup
и, в качестве действия, запускает пакетный файл MapDrives.bat
.
Перезагрузка, и она должна работать!
Цитирование: Пролистав много страниц и множество тестов, в конечном счете, лучшие предложения были найдены здесь и привели меня к вышеуказанному решению.https://stackoverflow.com/a/4763324/150794