[#ALM] Continuous Deployment, alla vamos !!!

Buenas,

desde hace unos días se está llevando a cabo una discusión interesante en los grupos de Agile Spain sobre Continuous Deployment. Si bien algunas entradas son para autoafirmar que cada uno es el mejor implementador de SCRUM que existe, o para explicar el porqué de una práctica como integración continua, hay muchas que merece leer solo por el hecho de comenzar a cambiar nuestra forma de pensar. Primero lo primero, y antes lo de siempre: para lograr un entorno con CD, necesitas tener un apoyo 100% de la dirección, una integración muy fluida entre los equipos de Desarrollo y los equipos de Sistemas, etc. etc. etc. En otras palabras esta es una práctica que requiere un nivel de madurez muy alto en cuanto a prácticas se requiere. Si nos fijamos por ejemplo en Wikipedia, la definición de Continuous Deployment no existe, aunque si existe un link inválido desde Continuous Integration

Lo que si existe en Wikipedia es el concepto de Continuous Delivery, donde se explica como aplicando las prácticas de Automated Testing, Continuous Integration y Automated Deployment es posible lograr montar un entorno de Continuous Delivery. Uno de los principios de esta práctica es acelerar los tiempos de despliegue de una aplicación a un entorno específico, ya sea un entorno de test o inclusive de producción. En mi caso aprovechando las capacidades de Team Build 2010 y Azure que podré ponerme con ello en el próximo proyecto que tengo en manos.

Nota: El único gran problema que tengo en vista ahora que estoy planeando este modelo, es la poca capacidad de despliegue que posee un entorno como Windows Phone, vamos que es una castaña para automatizar esto mismo. Le preguntaré al crack de Josué Yeray (@JosueYeray ) para ver que recomienda.

En este punto, mi modelo de trabajo inicialmente se basará en 2 líneas de desarrollo (gracias a un muy maduro modelo de branching que tenemos en Avanade Spain) donde siempre estarán disponibles (es decir desplegado) para probar

  • Un entorno con la aplicación desplegada a partir del último output de una build con una ejecución correcta (build + unit tests) de la línea de desarrollo.
  • Un entorno de AZURE para TEST con la aplicación desplegada a partir del último output de una build de una rama que ha pasado una batería de pruebas de UX.

Obviamente detrás de todo esto, seguiremos aplicando Test Driven Development, asegurando una sintaxis homogénea utilizando StyleCop, asegurando el control de proyectos gracias a TFS y alguna buena práctica a definir, etc. Pero vamos, que al final la idea sigue siendo la misma:

Mejorar la forma en la que desarrollamos software diariamente

image

Cuando lo haya implementado y pueda evaluar el resultado de implementar y mantener esta práctica por un tiempo, ´comentaré mis impresiones.

 

Saludos @ Home

El Bruno

   

Recursos:

PD: Acabo de comprarme el libro en Amazon (http://bit.ly/zbiP9A) a tan solo €28.

About these ads

Un pensamiento en “[#ALM] Continuous Deployment, alla vamos !!!

  1. Pingback: [#ALM] Automatizar procesos es ahorrar a largo plazo (por mas que a muchos les cueste verlo) | El Bruno

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s