TFS 2015 No se puede implementar en un servidor específico, pero Visual Studio puede hacerlo desde el servidor Build Agent

TFS 2015 No se puede implementar en un servidor específico, pero Visual Studio puede hacerlo desde el servidor Build Agent

Estoy un poco perdido aquí, después de haber verificado a todos los sospechosos habituales.

Una de las cosas más desconcertantes es que puedo implementar a través de Visual Studio en el servidor Build Agent, usando la misma URL en el mismo servidor, el mismo código (literalmente copié la solución Visual Studio de la scarpeta del agente de compilación de la última compilación).

Sin embargo, al compilar a través de TFS 2015, veo lo siguiente:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(4276,5): Error: Error en la tarea de implementación web. (No se pudo completar la solicitud a la URL del agente remoto 'https://siteurl:8172/msdeploy.axd?site=nombre del sitio'.)

Este error indica que no puede conectarse al servidor. Asegúrese de que la URL del servicio sea correcta, que las configuraciones de red y firewall en esta computadora y en la computadora servidor estén configuradas correctamente y que se hayan iniciado los servicios apropiados en el servidor.

Error de detalles:

No se pudo completar la solicitud a la URL del agente remoto 'https://siteurl:8172/msdeploy.axd?site=nombre del sitio'.

La conexión subyacente se cerró: se produjo un error inesperado en un envío.

No se pueden leer datos de la conexión de transporte: el host remoto cerró a la fuerza una conexión existente.

El host remoto cerró a la fuerza una conexión existente

Además, el registro WMsvc en el servidor IIS de destino no muestra una solicitud que llegue al servidor cuando TFS realiza la compilación; sin embargo, cuando Visual Studio realiza la compilación, sí llega al servidor.

Los argumentos de MSBuild pasados ​​en TFS (se agregaron saltos de línea para facilitar la lectura):

/p:GenerateBuildInfoConfigFile=false 
/p:DeployOnBuild=true;
DeployTarget=MSDeployPublish;
MSDeployPublishMethod=WMSvc;
EnableMSDeployBackup=False;
DeployIisAppPath=sitename;
MsDeployServiceUrl=https://siteurl:8172/msdeploy.axd;
AllowUntrustedCertificate=True;
username=$(Web Deploy Username);
password=$(Web Deploy Password);
SkipExtraFilesOnServer=True

La definición de compilación se copió de otra compilación funcional y los únicos cambios fueron la URL y la configuración.

Parece que es un problema de red, pero no sé por qué funcionaría desde el mismo servidor a través de Visual Studio, pero no a través de TFS si el origen (servidor TFS Build Agent) y el destino (servidor web IIS) son los mismos. , el puerto es el mismo, ambos usan https, Web Deploy, etc.

¿Alguna idea sobre cómo seguir depurando?

Información adicional:

Servidor de destino: Windows Server 2012R2 (VM en Azure)

Respuesta1

Compruebe si TLS no coincide. Estábamos usando la clave de registro SchUseStrongCrypto para forzar TLS 1.2 en una máquina y no en la otra. Esto resultó en el "cierre forzoso" igual que experimentó el OP. Blogeó más detalles aquí.https://fuseit.zendesk.com/hc/en-us/articles/360000328595

información relacionada