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

msdeploy через jenkins и сервисный аккаунт: подключен, но «не удалось авторизовать»?

Справочная информация / цель

Подвижные части:

В Jenkins у меня есть задача развертывания. Он захватывает некоторые артефакты и затем звонит msdeploy чтобы отправить их на MyServer.

Этот шаг развертывания не выполняется, и я хотел бы выяснить, почему.

Я использую команду MSDeploy

Команда автоматически генерируется Jenkins и в конечном итоге выглядит следующим образом (конфиденциальные данные опущены):

 "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\Jenkins\jobs\NotARealJobName\workspace" -dest:iisApp="MyWebSite/MyWebApp",ComputerName="https://MyServer:8172/MsDeploy.axd",UserName=MyDomain\svcMyService,Password="NotARealPassword" -allowUntrusted 

Ошибка

Сообщение об ошибке, которое я вижу в выводе msdeploy:

Код ошибки: ERROR_USER_UNAUTHORIZED Дополнительная информация: подключен к удаленному компьютеру («MyServer») с помощью службы веб-управления, но не может авторизоваться. Убедитесь, что вы используете правильное имя пользователя и пароль, что сайт, к которому вы подключаетесь, существует, и что учетные данные представляют пользователя, у которого есть разрешения на доступ к сайту. Узнайте больше на: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED.

Ошибка: удаленный сервер возвратил ошибку: (401) Неавторизованный.

Мое понимание того, что я должен делать

Это может быть неполный или неверный список. Скажите, пожалуйста, здесь ли может быть проблема.

Думаю, мне нужно:

Устранение неполадок на данный момент

Я буду обновлять этот список, пытаясь устранить неполадки.

Проверить журналы WMSvc IIS - похоже, у моего пользователя нет прав на публикацию

#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs (User-Agent) cs (Referer) sc-status sc-substatus sc-win32-status time -taken 2015-09-14 17:10:06 [IP-адрес сервера] HEAD /MsDeploy.axd - 8172 - [Jenkins IP] - - 401 2 5 15

Я вижу, что все статусы 401.2 с кодом win32 5.

В соответствии с эта ссылка для устранения неполадок, "Если пользователь аутентифицирован, но не имеет прав, необходимых для публикации, запись журнала будет выглядеть так", что (401 2 5).

Ссылки на статьи

Я нашел ответ на этом старом сообщении на форуме от 2011 года - кажется действительно непонятным.

Решение, найденное в этом сообщении на форуме, заключалось в следующем:

  • Открыть Regedit
  • Открыть путь HKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Server
  • добавить DWORD с именем WindowsAuthenticationEnabled со стоимостью 1
  • Перезапустите WMsvc и IIS

После выполнения этих шагов, похоже, у меня это сработало в первый раз.