2012-05-28 690 views
6

Estoy tratando de implementar una aplicación de consola en una carpeta en un servidor DMZ usando la distribución automática con MSBuild y Team Foundation Server.Uso de MSDeploy para implementar una aplicación de consola en un servidor DMZ

Ya estoy implementando varios sitios en ese mismo servidor y funciona muy bien. Lo he intentado de varias maneras pero los archivos no están desplegados.

En primer lugar, he tratado de implementar la aplicación de consola de la misma manera como lo hago para mi sitio web, es decir:

<MSBuild 
    Projects="$(SolutionRoot)\MySolution.sln" 
    Properties="AllowUntrustedCertificate=True;AuthType=Basic; 
    Configuration=DEBUG;CreatePackageOnPublish=True;         
    DeployIisAppPath=Default Website/dummy.dev.myapp; 
    DeployOnBuild=True;DeployTarget=MsDeployPublish; 
    MSDeployPublishMethod=WMSvc; 
    MsDeployServiceUrl=https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd; 
    UserName=userid;Password=password;UseMsdeployExe=True" 
/> 

sin éxito.

EDITAR: No se devuelve ningún mensaje de error. Todo parece ir bien.

Entonces, también traté de implementar la aplicación de consola de la siguiente manera:

<Exec Command="&quot;C:\Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe&quot; 
       -verb:sync 
       -source:contentpath=&quot;$(OutDir)\MyApp.Precompiled&quot; 
       -dest:contentpath=&quot;D:\dev.myapp&quot;,computername=xxx.xxx.xxx.xxx,username=userid,password=password" 
       ContinueOnError="false" /> 

que en realidad también intentado con nombre de equipo como https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd.

EDITAR: Lo siguiente es lo que obtuve. EXEC: FileOrFolderNotFound EXEC: El objeto de tipo 'contentPath' y la ruta 'E: \ Builds \ 1 ... \ dev.myapp' no se pueden crear. EXEC: La ruta '\? \ E: \ Builds \ 1 ... \ dev.myapp' no es válida. EXEC: 1. E: \ Builds \ 1 ... \ BuildType \ Targets \ Deploy.targets (142): El comando "" C: \ Archivos de programa \ IIS \ Microsoft Web Deploy V2 \ MSDeploy.exe "-verb : sync -source: contentpath = "E: \ Builds \ 1 ... \ dev.myapp" -dest: contentpath = "D: \ dev.myapp", nombre de equipo = https: //xxx.xxx.xxx.xxx: 8172/MsDeploy.axd, username = userid, password = password "salido con el código -1. Me doy cuenta de que no he leído todo el error, ¿Realmente necesito una ruta UNC?

¿Alguien sabe cómo hacer esto?

+0

por favor, puesto que los errores que haya tenido. –

Respuesta

7

Finalmente descubrí cómo hacer que funcione.

<Exec Command="&quot;C:\Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe&quot; 
      -verb:sync 
      -source:contentpath=&quot;$(OutDir)\MyApp.Precompiled&quot; 
      -dest:contentpath=&quot;D:\dev.myapp&quot;,computername=https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd,username=userid,password=password,authtype=Basic 
      -allowUntrusted=True" 
      ContinueOnError="false" /> 

que cambió de equipo a de equipo = https: //xxx.xxx.xxx.xxx: 8172/MsDeploy.axd, agregó AuthType = Básico y allowUntrusted = True y listo funcionó.

Fue bastante frustrante no tener ningún tipo de retroalimentación de lo que salió mal con la primera opción. Pero cuando estaba usando la segunda alternativa, obtuve comentarios para trabajar.

Si alguien sabe cómo hacer que esto funcione utilizando la tarea MSBuild, no dude en aclararme.

3

Pruebe dirPath proveedor en lugar de contentPath, se comportará más como una sincronización de carpetas en lugar de la implementación del sitio web IIS.

+0

Gracias, lo probé, pero en ese caso necesito usar la cuenta de administrador integrada que no está permitida en mi cliente actual. – Per

1

Considerando que la sincronización funcionó con la tarea EXEC, ¿se aseguró de tener Microsoft.WebApplication.targets en su archivo csproj (o vbproj)? Pude ver que simplemente ignoraba esa tarea de msbuild sin el archivo de objetivos correcto incluido.

Por ejemplo, en mis archivos de proyecto de servicios web, tengo unas pocas cosas hacia el fondo de mi archivo csproj

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> 
Cuestiones relacionadas