[ASP.NET + VS 2008] Web Deployment Projects nos facilita los despliegues de nuestras aplicaciones web

Como dije en mi anterior post, estas 3 últimas semanas, he estado desplegando una solución bastante completa en un cliente y pensaba que no me iba a dar para escribir ningún post, pero olvidé hacer mención de la herramienta:

Visual Studio® 2008 Web Deployment Projects – RTW

Seguro que tienes aplicaciones Web con varios config y settings para entornos diferentes DEV, PRE, PRO y muchas veces tienes que estar cambiando a mano dichos configs, settings… con el consiguiente riesgo de pasar settings de DEV a PRE, PRE a PRO, etc… bueno, pues esta herramienta nos va a facilitar bastante la labor de los despligues, ya que dada una configuración que nosotros mismos podemos crearnos, nos va a generar una solución lista para desplegar con sus settings correspondientes.

Vamos a ver como funciona:

Una vez descargada e instalada, vamos a generar un proyecto de prueba, en mi caso en Servicio Web sencillo y nos vamos al fichero Web.config y añadimos una cadena de conexión:

<connectionStrings>
    <add name="eShopConnectionString" 
         connectionString="Data Source=dev-sql; Initial Catalog=dev-db; Integrated Security=True"/>
  </connectionStrings>

En este caso, estaría apuntando al servidor Sql de Desarrollo. A continuación vamos a añadir a nuestra solución un Web Deployment project:

wdp

A continuación vamos a crear 3 tipos de configuración a nuestro proyecto WDP:

  1. Desarrollo (Debug)
  2. Pre-Producción (Release)
  3. Producción (Release)

wdp2

wdp3

Desarrollo

wdp4

Pre-Producción

wdp5

Producción

wdp6

Una vez creadas las 3 configuraciones, vamos a crear 3 ficheros config con las cadenas de conexión (En este caso solo contendrán una, pero podrían ser más) de cada entorno:

wdp7

Desarrollo

<connectionStrings>
  <add name="eShopConnectionString" 
       connectionString="Data Source=dev-sql; Initial Catalog=dev-db; Integrated Security=True"/>
</connectionStrings>

Pre-Producción

<connectionStrings>
  <add name="eShopConnectionString" 
       connectionString="Data Source=pre-sql; Initial Catalog=pre-db; Integrated Security=True"/>
</connectionStrings>

Producción

<connectionStrings>
  <add name="eShopConnectionString" 
       connectionString="Data Source=pro-sql; Initial Catalog=pro-db; Integrated Security=True"/>
</connectionStrings>

Ahora, solo nos queda especificar para cada configuración de las que hicimos enteriormente, de que fichero de cadenas de conexión obtendrá la configuración:

  1. Seleccionamos la configuración (Desarrollo)
  2. En la opción Deployment
  3. Activamos el check Enable Web.config file section replacement
  4. A la sección connectionStrings de nuestro Web.config lo reemplazamos con lo que contiene el fichero de configuraciones del entorno de desarrollo.
  5. Marcamos el check Enforce matching section replacements

wdp8

Y a las otras 2:

wdp7

wdp10

 

 

Una vez hecho todo el trabajo solo nos queda probar, compilamos la solcuión para cada configuración y nos vamos al directorio de nuestro proyecto y:

wdp11

cada carpeta:

wdp12

lista para desplegar con su configuración correspondiente.

Podemos hacer lo mismo con otras secciones de nuestro Web.config, como por ejemplo las appSettings ;)

La verdad es que esta herramienta me ha gustado bastante, facilita mucho el trabajo a la hora de desplegar, nosotros usabamos otras técnicas pero hemos adoptado a esta nueva herramienta.

Salu2 y a disfrutar!!!

Attachment: WebSite1.zip
Published 13/10/2009 16:11 por Luis Ruiz Pavón
Comparte este post:
http://geeks.ms/blogs/lruiz/archive/2009/10/13/asp-net-vs-2008-web-deployment-projects-nos-facilita-los-despliegues-de-nuestras-aplicaciones-web.aspx

Comentarios

# re: [ASP.NET + VS 2008] Web Deployment Projects nos facilita los despliegues de nuestras aplicaciones web

Muy interesante la herramienta a la vez de útil. Gracias por el post lo he puedto en práctica y me ha servido bastante. Lo único que veo es que toca hacer un archivo de configuración por sección a cambiar, esto es un poco dispendioso. Pero una vez hecho nos permite ahorrar tienpoen el despliegue.

Gracias

Monday, November 09, 2009 4:40 PM por Miguel Angel Niño

# re: [ASP.NET + VS 2008] Web Deployment Projects nos facilita los despliegues de nuestras aplicaciones web

Muy interesante tu post, lo estoy intetando hacer, el ejemplo del WebSite1.zip contiene solo un archivo que no tiene extension, podrias revisarlo porq parece que no esta completo.

Muchas Gracias.

Friday, November 20, 2009 1:12 AM por Tita