Я пытаюсь выполнить развертывание с помощью 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 для развертывания. Я хотел бы продолжить использование метода службы Web Management (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
И я также попытался ввести пустое имя пользователя (как показано в другом месте на StackOverflow ), но безрезультатно. Я продолжаю получать ошибку:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5)
: ошибка: сбой задачи веб-развертывания. (Подключен к конечному компьютеру («имя веб-сервера») с помощью службы веб-управления, но не смог авторизоваться. Убедитесь, что вы используете правильное имя пользователя и пароль, сайт, к которому вы подключаетесь, существует, и что учетные данные представляют пользователя, у которого есть разрешения на доступ к сайту.)
Я также пробовал параметр UseMsdeployexe
, как упоминалось в предыдущей ссылке, но затем я получаю другие ошибки, связанные с преобразованием web.config. Похоже, проблема уже существует в Microsoft Connect и указана как исправленная в следующей проблеме.