Hay una excelente charla sobre PDC disponible aquí de Vishal Joshi que describe las nuevas características de MSDEPLOY en Visual Studio 2010, así como también cómo implementar una aplicación dentro de TFS. (También hay una gran charla de Scott Hanselman, pero no entra en TFS).
Puede usar MSBUILD dentro de TFS2010 para llamar a MSDEPLOY para implementar su paquete en IIS. Esto se hace mediante parámetros a MSBUILD.
La charla explica algunos de los parámetros de la línea de comandos como:
/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"
Pero, ¿dónde está la documentación para esto? No puedo encontrar ninguna?
Me he pasado todo el día tratando de que esto funcione y no puedo hacerlo bien y sigo terminando con varios errores. Si ejecuto el cmd
archivo del paquete, se implementa perfectamente. Si ejecuto WebDeploy a través de Visual Studio, también funciona perfectamente.
Pero quiero que toda la implementación se ejecute msbuild
utilizando estos argumentos y no una llamada separada msdeploy
o ejecutando el .cmd
archivo del paquete . ¿Cómo puedo hacer esto?
PD. Sí, tengo la Web Deployment Agent Service
carrera. También tengo el servicio de administración que se ejecuta bajo IIS. Intenté usar ambos.
Args que estoy usando:
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:Configuration=Release
/p:CreatePackageOnPublish=True
/p:DeployIisAppPath=staging.example.com
/p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd
/p:AllowUntrustedCertificate=True
dando me :
C: \ Archivos de programa (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets (2660): Falló la implementación de VsMs. (Agente remoto (URL https://staging.example.com: 8172 / msdeploy.axd? Site = staging.example.com ) no se pudo contactar. Asegúrese de que el servicio del agente remoto esté instalado e iniciado en el equipo de destino.) Detalle del error: Agente remoto (URL https: //staging.example. com: 8172 / msdeploy.axd? site = staging.example.com ) no pudo ser contactado. Asegúrese de que el servicio de agente remoto esté instalado e iniciado en el equipo de destino. Se recibió una respuesta no admitida. El encabezado de respuesta 'MSDeploy.Response' era '' pero se esperaba 'v1'. El servidor remoto devolvió un error: (401) No autorizado.