Trucos: Opciones de Desarrollo, QA, Staging, y Producción en el web.config con VS 2005

Una de las cosas que me suelen preguntar muy a menudo es: «¿cómo puedo cambiar fácilmente opciones de configuración desde el web.config cuando para indicar si está en desarrollo, en QA, staging o en producción?» El escenario más común para esto es cuando una aplicación usa diferentes cadenas de conexión a bases de datos para testing y producción.

Pero resulta que podemos automatizar este proceso de configuración con Visual Studio (y hacerlo de forma que funcione tanto dentro del IDE como por lineas de comandos). Aquí teneis unos pasos a alto nivel para hacer esto. Funcionan tanto en VS 2005 como en 2008:

  1.  Usamos ASP.NET Web Application Projects (que viene como template).
  2. Abrimos el Configuration Manager de VS y creamos las configuraciones de construcción para «Dev», «QA» y «Staging» para nuestro proyecto y solución.
  3. Añadimos los archivos «web.config.dev», «web.config.qa»y «web.config.staging» en nuestro proyecto y los personalizamos con las opciones de cada una de las configuraciones.
  4. Añadimos un comando «evento pre-build»  a nuestro archivo de proyecto que pueda copiar automáticamente el web.config de nuestro proyecto con el modo específico cada vez que construyamos el proyecto (por ejemplo: si nuestra solución está con la configuración «Dev», copiará las opciones del web.config.dev al web.config principal.

Una vez hecho esto, podemos seleccionar el modo de nuestra solución usando el desplegable de configuración del VS:

La próxima vez que ejecutemos o compilemos tras cambiar el modo de la configuración, VS modificará el archivo web.config automáticamente y usará las correspondientes a cada configuración (así que si seleccionamos QA usará las opciones de QA, y si seleccionamos Deploy usará las opciones de Deploy).

Las ventajas que tiene además es que funciona muy bien en entornos con sistemas de control de codigo fuente (todos pueden sincronizar y compilar localmente sin tener que hacer ningún cambio manual en sus máquinas locales). También funciona en un servidor – incluso en escenarios donde compilamos con lineas de comando.

Para aprender más sobre los pasos a seguir, leeros el post  Managing Multiple Configuration File Environments with Pre-Build Events de Scott Hanselman.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos. Microsoft Student Partner

toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?

Artículo original:

http://weblogs.asp.net/scottgu/archive/2007/09/21/tip-trick-automating-dev-qa-staging-and-production-web-config-settings-with-vs-2005.aspx

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *