Как развернуть MSDeploy в Team Build 2010 с помощью службы WMSVC и проверки подлинности NTLM? - программирование

Как развернуть MSDeploy в Team Build 2010 с помощью службы WMSVC и проверки подлинности NTLM?

Я пытаюсь развернуть с помощью Team Build 2010 на веб-сервере Windows Server 2008 R2. Мой серверный агент сборки настроен для работы под учетной записью домена Windows. Я успешно предоставил разрешения этой учетной записи домена на своем веб-сервере для развертывания, используя разрешения диспетчера IIS. Эта учетная запись не - администратор на веб-сервере. Я могу получить развертывание сборки просто отлично, используя следующие параметры:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:UserName=DOMAIN\BUILDID
/p:Password=buildidpassword

Поскольку другие разработчики собираются создавать свои сборки, и я бы предпочел не публиковать пароль для учетной записи домена, мне нужно использовать аутентификацию NTLM для развертывания. Я хотел бы продолжить использование метода службы веб-управления (WMSVC) для развертывания, поэтому BUILDID не должен быть администратором.

Я глубоко вникнул в "Microsoft.Web.Publishing.targets", и кажется, что я должен передать параметр AuthType для управления типом авторизации, но он, похоже, не имеет никакого эффекта. Я пробовал:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:AuthType=NTLM

И я также попытался поместить пустое имя пользователя (как показано в другом месте qaru.site/info/72344/...), безрезультатно. Я продолжаю получать ошибку:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): ошибка: не удалось выполнить задачу развертывания сети (подключен к целевому компьютеру ( "имя веб-сервера" ) с помощью службы веб-управления, но не может разрешить. Убедитесь, что вы используете правильное имя пользователя и пароль, сайт, к которому вы подключаетесь, существует и что учетные данные представляют пользователя, у которого есть разрешения на доступ к сайту.)

Я также попробовал параметр UseMsdeployexe, как упоминалось в предыдущей ссылке, но затем получаю другие ошибки, связанные с преобразованием web.config. Это выглядит как проблема уже находится в Microsoft Connect и указана как исправленная в следующем выпуске.

4b9b3361

Ответ 1

Есть дополнительный шаг, который я никогда не поднимал:

Источник

Вы можете по желанию включить пользователей для аутентификации в Интернете Служба управления с использованием NTLM. Для этого обновите реестр на сервера, добавив ключ DWORD с именем "WindowsAuthenticationEnabled" в разделе HKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Server и установите для него значение 1. Если служба веб-управления уже запущена, настройка вступит в силу после перезапуска службы.

Ответ 2

Если он не использует NTLM, агенту службы сборки команды необходимо предоставить разрешение на ваш сайт, чтобы позволить не-администраторам подключаться к серверу доступа к сайту или серверу развертывания приложений. Вы можете настроить это в Служба управления.

Возможно, вы захотите также взглянуть на настройку параметров поставщика веб-развертывания. Настройки поставщика веб-развертывания

Если указан параметр провайдера wmsvc, то тип аутентификации по умолчанию - Basic; в противном случае тип аутентификации по умолчанию - NTLM.

Вы также можете зашифровать свой пароль с помощью параметра encryptPassword и настроить настройку на размещенном сервере, если вы хотите использовать базовый тип проверки подлинности.

Надеюсь, что это поможет.

Этот код ошибки может отображаться по нескольким причинам. Обычно это указывает на проблему аутентификации или авторизации и может произойти из-за любой из следующих причин:

При подключении с помощью службы веб-управления:

  • Проверьте правильность имени пользователя и пароля.
  • Убедитесь, что сайт существует
  • Убедитесь, что у пользователя есть разрешения диспетчера IIS для Объем

При подключении с помощью службы удаленного агента:

  • Проверьте правильность имени пользователя и пароля.
  • Убедитесь, что указанная вами учетная запись является членом Группы администраторов на удаленном компьютере. ПРИМЕЧАНИЕ. Из-за ошибки в Web Deploy 2.0 пользователь должен быть либо встроенным администратором или членом группы безопасности Администраторы домена. Пытается синхронизировать с любой другой учетной записью пользователя, даже если это администратор, вы увидите этот код ошибки. Убедитесь, что сайт существует