Publish automáticos por ambiente

Estábamos teniendo varios problemas al hacer deploy en los distintos ambientes porque siempre nos quedaba alguna setting sin modificar. Así que pensé que sería bueno automatizar esa tarea para evitar problemas.

La idea es simple. Uso web.config transformations para cambiar el archivo al ambiente que corresponda. En realidad sólo cambio a dónde apunta el web.config.

Armé la siguiente estructura del proyecto:

web.configs

configs por ambiente

 

 

La configuración de QA la armé como una nueva build configuration.

La carpeta Configs está en el root del proyecto. Vean que tengo una configuración distinta por cada ambiente.

El Web.config me quedó así:

Web.config base

Y los Web.*.config así:

Web.debug.config

Web.qa.config

Noten la diferencia en los configSource, ahí está la magia.

A partir de esta estructura podemos obtener publish automáticos simplemente compilando para el ambiente que lo necesitemos. También se puede automatizar con una tarea de compilación de MSBuild y se puede armar un .bat para tener builds de un click por ambiente =D.

Referencias:

Lo nuevo de Visual Studio 2010 y C# 4.0

Tenía ganas de bloggear sobre las novedades en Visual Studio 2010 y C# 4.0. En el proceso de recopilar toda la información me econtré con una serie de muy buenos posts sobre el tema, y ahora no sé qué tanto sentido tiene duplicar esa información. Así que decidí simplemente hacer referencia a este muy buen material provisto por Fernando Machado y al que accedí a través del blog de Fernando García Lorea:

* Tipos dinámicos
* Consumir primero, declarar después
* Mini dumps
* Parámetros opcionales y con nombre
* Covarianza y contravarianza
* Breakpoints

Espero que les sirva!