Si necesitas ayudar a implantar Integración Continua dentro de tu propio equipo de trabajo, puedes seguir estos pasos y recomendaciones.

Supongamos que tu eres el único experto y, por ende, el encargado de guíar la implantación de Integración Continua dentro del equipo. Lo primero que te sugerimos hacer es realizar una presentación explicando qué es y por qué implantar la Integración Continua, además de recomendar las metodologías y herramientas de trabajo que utilizarán en el futuro.

Luego, te recomendamos ir paso a paso realizando las siguientes tareas para abordar las 11 prácticas de Integración Continua.

Para cualquier desarrollo de software es fundamental la utilización de un controlador de versiones, por lo que es muy importante la creación de un repositorio para el código fuente. Además, para mejorar la comunicación, evitar conflictos y lograr una mejor integración de componentes al desarrollar, es recomendable sugerir que todos los desarrolladores realicen la mayor cantidad de commits posibles mientras avanzan con el proyecto. Con estas dos actividades, ya habrás cubierto las prácticas 1 y 4 (mantener un único repositorio fuente y todos realizan commits todos los días).

Ya hemos mencionado dentro de este blog que uno de los beneficios más importantes que entrega la Integración Continua es la prevención de bugs en producción. Esto se logra mediante la continua ejecución de tests a medida que va avanzando el desarrollo del proyecto. Entonces, te recomendamos que guíes a tu equipo para que desarrollen tests y vayan validando su aplicación. También es importante que la compilación (si es que aplica, depende del tipo de software a desarrollar) sea automatizada (es decir, se realice en un solo paso) y que incluya estos mismos tests. Además, debes procurar que la ejecución de este build sea lo más rápida posible (no debe superar los 10 minutos). Siguiendo estas recomendaciones, ya estarás cubriendo las prácticas 2, 3 y 7 (automatizar el build, hacer que el build sea auto-testeable y mantener el build rápido).

Independiente de si para el desarrollo de su proyecto cuentan con un servidor de desarrollo o de integración, te recomendamos que utilices un Servidor de Integración Continua, que puede ser Jenkins o Travis CI (o cualquier otro que te guste) dependiendo del caso. El uso de estas herramientas le permitirá a todo el equipo, luego de cada commit, conocer el estado de cada build, así si hay algún error pueden (y deben) corregirlo inmediatamente. De este modo, ya estarás abordando las prácticas 5, 6 y 10 (que cada commit gatille el build en una máquina de integración, corregir builds fallidos inmediatamente y todos pueden ver qué está pasando). Además, si logras que la configuración de la máquina donde tengas tu servidor de Integración Continua sea igual a la configuración de la máquina de producción, estarías abordando también la práctica 8 (ejecutar pruebas en una máquina clon a la del entorno de producción).

Por último, dependiendo del tipo de aplicación que estén desarrollando, debes buscar la forma de realizar la entrega continua del último ejecutable. Por ejemplo, si están desarrollando una aplicación web, podrían a través de su servidor de Integración Continua actualizar la fuente con cada build exitoso y así estaría siempre arriba en su servidor la última versión estable. De este modo, ya estarías utilizando las últimas dos prácticas que te quedan, que son la 9 y 11 (todos pueden obtener la última versión estable de la aplicación y automatizar el despliegue).