2010-12-16 9 views
5

Estoy intentando desplegar sitio web con MSDeploy y formación de equipo utilizando un poco de esto ...Conjunto de grupo de aplicaciones con MSDeploy y TFS 2010

/p:DeployOnBuild 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=True 
/p:MSDeployPublishMethod=InProc 
/p:MSDeployServiceURL=localhost 
/p:DeployIISAppPath="Default Web Site" 

¿Hay una manera de fijar este sitio en grupo de aplicaciones a medida?

Respuesta

0

Parte del truco es con /p:IncludeAppPool=true. Eso cambia la secuencia de comandos de implementación para habilitar AppPoolExtension. Pero todavía no he descubierto la mejor manera de configurar el grupo de aplicaciones. :)

5

Si está utilizando IIS 7, puede usar el appPoolProvider para sincronizar grupos de aplicaciones a un servidor remoto. Ver:

http://technet.microsoft.com/en-us/library/dd569070(WS.10).aspx

y

http://blog.torresdal.net/2010/08/16/NoClickWebDeploymentPart2WebDeployAkaMsdeploy.aspx

Sin embargo, no fue capaz de conseguir realmente que para trabajar bien, y si está utilizando IIS 6 esto no va a funcionar de todos modos . Sin embargo, lo que puede hacer es aprovechar MSDeploy para ejecutar un par de comandos en el servidor remoto para configurar el grupo de aplicaciones (y registrar la versión de .NET en el sitio web).

En primer lugar, crear un archivo por lotes que contiene algo similar a lo siguiente:

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
    SET w3svc/<IIS number>/Root/<virtual directory>/AppPoolid "<app pool name>" 

lo tanto, si el número de IIS es 1, el directorio virtual es "MiDirectorio" y el grupo de aplicaciones se denomina" .NET4 .0 ", el comando sería.

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
    SET w3svc/1/Root/MyDirectory/AppPoolid ".NET4.0" 

A continuación, puede ejecutar MSDeploy, pasando este archivo por lotes como argumento y ejecutarlo en la máquina remota:

MSDeploy 
    -verb:sync 
    -source:runCommand="<path to batch file>",waitinterval=5000 
    -dest:auto,computername=<computer name> 

donde <path to batch file> es la ruta completa al archivo por lotes que acaba de crear por encima de y es la computadora contra la que desea ejecutar esto. Aquí hay un enlace que describe el argumento runCommand: http://technet.microsoft.com/en-us/library/ee619740(WS.10).aspx

Estoy seguro de que puede configurar esto como un paso de compilación en TFS. Hicimos una pequeña utilidad .NET que llamamos como parte de nuestro proceso de implementación que crea estos archivos por lotes y ejecuta el comando MSDeploy.

También hay otras cosas que puede hacer en este mismo método que podrían ser útiles para usted:
Registrar una versión de IIS:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe 
    -s w3svc/1/root/MyDirectory 

Crear un grupo de aplicación:

CSCRIPT //nologo %dir%\adsutil.vbs 
    CREATE w3svc/AppPools/AppPoolName IISApplicationPool 

Gracias a http://justsamson.com/2010/06/14/create-virtual-directory-in-iis-6-0-via-command-line/ para los scripts de línea de comandos para hacer las diversas funciones.

+0

En realidad, no responde a la pregunta de cómo configurar el sitio web en el grupo de aplicaciones (una vez que lo haya creado) – piers7

+0

@ piers7 ¿Te perdiste la primera mitad de esta publicación que muestra exactamente cómo configurar el grupo de aplicaciones? También agregué los comandos para registrar una versión de IIS y crear un grupo de aplicaciones, ya que los encontré útiles. – csm8118

Cuestiones relacionadas