Tenía una implementación de MSDeploy funcionando de maravilla con TeamCity cuando pasé las credenciales de usuario. (. env utilizando variables para algunos valores) los parámetros de línea de comandos fueron:¿Cómo implemento usando MSDeploy y TeamCity con la Autenticación de Windows integrada?
MSBuild.exe Web.csproj
/P:Configuration=%env.Configuration%
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl= https://%env.TargetServer%/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMsvc
/P:CreatePackageOnPublish=True
/P:UserName=%env.AdminUser%
/P:Password=%env.AdminPassword%
funcionó muy bien. Pero ahora quiero usar autenticación integrada. Traté de seguir las sugerencias de Troy desde Can MSBuild deploy using integrated authentication or only basic? pero no está haciendo el truco. He intentado varias combinaciones de pasar en un nombre de usuario en blanco y especificando
/p:AuthType=NTLM
Lo más cerca que consigo es especificando/p: TipoAut = NTLM y pasando un nombre de usuario en blanco. Pero que todavía provoca este error:
Connected to the destination computer ("[my destination server name]") using the Web Management Service, but could not authorize. Make sure that you are using the correct user name and password, that the site you are connecting to exists, and that the credentials represent a user who has permissions to access the site. The remote server returned an error: (401) Unauthorized
tengo el servicio de administración de Web que se ejecuta tanto en los servidores locales y remotos. Cambié las dos instancias para que se ejecuten como un usuario que sé que tiene acceso adecuado al sitio, el mismo usuario que funciona si paso las credenciales manualmente.
También intenté otorgar permisos a ese usuario IIS Manager en el sitio de destino (aunque no estoy seguro de por qué sería necesario porque el usuario puede publicar en el sitio cuando se pasan sus credenciales manualmente).
Una cosa que estoy notando es que en el registro de WMsvc no está registrando ningún nombre de usuario para los intentos realizados con autenticación NTLM.
Cualquier idea de lo que está pasando aquí. Realmente no quiero tener que almacenar las credenciales de usuario en mi configuración de TeamCity.
Gracias.
Ver comentario arriba. Respuesta corta, tiene. – user1035941