El tema de integración continua y distribución continua (CI/CD), es realmente bastante amplio y a su vez muy interesante; es un método de distribución de software mediante lo cual podemos atuomatizar muchos procesos y de esta manera simplificar mucho el flujo de desarrollo del software en si.
Si alguna vez ya escuchaste o tienes cierta noción sobre CI/CD sin haber experimentado mucho sobre este tema, de seguro que te viene a la cabeza pases a producción de forma automatizada, que en cierta forma lo es, pero sin limitarse únicamente a ésto; entonces, veamos un poco más de en qué consiste este concepto.
¿Por qué es necesario la integración continua?
Actualmente es común en gran parte de equipos de desarrollo que los integrantes se aislen con los requerimientos asignados a éstos, para posteriormente juntar cada cambio en una rama principal de su sistema de control de versiones como lo puede ser la rama master en Git, esto trae como consecuencia muchos problemas a la hora de combinar cada cambio ejercido en las diferentes ramas con lo que se convierte en un infierno de integración.
La CI/CD, resuelve este aspecto y hace que nuestro trabajo sea notablemente más eficaz.
¿Qué es la CI y CD?
Cuando hablamos de CI nos referimos al proceso de la integración contínua, mientras que CD que es la distribución continua corresponde a dos casos, siendo que estos son las entregas continuas y despliegues continuos. Es importante saber diferenciar correctamente estos aspectos, por lo que lo mencionamos a continuación.
Integración continua
La integración continua consiste en la automatización del proceso de unión de las diferentes implementaciones de un software, realizado por los desarrolladores, para que de esta manera se proceda con la construcción (Build) y las respectivas pruebas unitarias si las hubiera (Test). Que quede claro que la integración continua se limita de forma global, única y exclusivamente a estas etapas, mas no a los procesos de pase a producción.
Entregas continuas
Las entregas continuas consiste en la liberación del código hacia un repositorio, en palabras simples; es el proceso que luego de haber realizado la unión, construcción y pruebas de unidad (Proceso de la CI), llevamos ese código fuente (Software actualizado) ha un repositorio temporal que posteriormente podrá ser derivado a servidores web, servidores de aplicación o simples equipos de cómputo (Estaciones de trabajo).
Despliegues continuos
Como último paso en el proceso de la CI/CD, tenemos los despliegues continuos, los cuales consisten en tomar los repositorios temporales construidos en las entregas continuas para enviarlos a un entorno de pruebas finales de uso o a los mismos entornos de producción del software.
Recordemos que los 3 proces anteriormente mencionados, son totalmente automatizados, por lo que la productividad en un equipo de desarrollo que disponga de estos procesos bien implementados, será mucho mayor con respecto a un proceso de desarrollo tradicional.
Como material adicional, se adjunta un diagrama del proceso completo (Aunque de forma general) de la CI/CD.
CONCLUSIÓN
La implementación del proceso de CI/CD en nuestro equipo de trabajo de software, es muy importante; porque recordemos, al aplicar integración continua, entregas continuas y despliegues continuos, nos beneficia en la productividad del desarrollo, encontramos y arreglamos los errores con mayor rapidez y entregamos los cambios ejercidos en el proyecto de software con mayor eficacia.
- Debes estar logueado para realizar comentarios