DevOps

Git en el flujo DevOps tradicional

Conoce el papel que juega Git tanto en el ciclo de desarrollo de software como en un modelo de DevOps tradicional.

Publicado el 01 de Marzo de 2019
Compartir

Git dentro del ciclo de desarrollo de software

En el ciclo de vida de desarrollo de software, el esquema tradicional que nos encontramos es el siguiente:

GIT ayuda en el software development cycle

 

Una vez que ya tenemos el código albergado en un repositorio compartido, y para ello la herramienta que os recomendamos utilizar una herramienta distribuida de control de versiones como Git, desearíamos, como una meta ideal, disponer de un mecanismo de integración continua y de despliegue continuo, es decir, poder realizar entregas a entornos productivos que sean muy rápidas y en corto espacio de tiempo.

Para ello, una vez que ya tenemos nuestro desarrollo finalizado, lo empaquetamos, lo hacemos disponible para poder testarlo, gestionamos la configuración y finalmente hacemos un despliegue en un entorno productivo.

Después monitorizamos, escuchamos al cliente y analizamos las necesidades, planeamos cuáles son los cambios necesarios y empezamos el círculo de nuevo.

Herramientas utilizadas en el ciclo de desarrollo de software

GIT ciclo de desarrollo

En el ciclo de desarrollo que acabamos de detallar, en el momento en el que codificamos, podemos tener como herramienta de apoyo, por ejemplo las herramientas de Jira.

Necesitaríamos alguna herramienta que nos sirviera para gestionar las diferentes versiones de código, como Git o Subversion, aunque recomendamos utilizar Git, porque es una herramienta que ofrece mejores prestaciones, mucha agilidad y otra serie de ventajas.

Como ya hemos comentado, una vez que hemos codificado, volvemos a empaquetar y hacemos el testeo de la aplicación.

Nos apoyamos en otro tipo de herramientas para generar ese empaquetado, al que después podemos hacer despliegue, como por ejemplo TestLink, Bamboo o Jenkins, que es el que nosotros os recomendamos.

Una vez que ya tenemos el empaquetado listo para hacer un despliegue a producción, podremos utilizar herramientas tipo Ansible, que automatizan esa labor de despliegue.

Si además combinamos ese empaquetado, que ya tenemos de nuestra aplicación, para gestionarlo en un entorno basado en contenedores Docker o con un orquestador encima, por ejemplo Kubernetes, podríamos tener un entorno de integración continua en el que los despliegues, es decir, el acto del deploy, fuese aún más rápido.

Git en un flujo DevOps

Con todo lo visto anteriormente, acompañado de una serie de procesos y de un modelo en el que en los equipos de desarrollo incorporen a alguien del equipo de sistemas, y además mantengamos un equipo en el que ese tipo de competencia estén implicadas, podría alcanzarse esa meta en la que tengamos muchos despliegues, seamos muy flexibles a las necesidades del cliente, tengamos alta capacidad de reacción y eliminemos las fricciones que suceden entre los equipos de desarrollo y los equipos de sistemas.

Ese tipo de fricciones o esa línea roja que separa la finalización del desarrollo con la puesta en producción, las eliminamos con un proceso de DevOps, en el que para comenzar esta cadena necesitamos de unos eslabones, en los cuales el primero es la herramienta de Git.

¿Necesitas utilizar un sistema de control de versiones para desarrollar tu software? La mejor opción es trabajar con Git, un VCS muy potente y lleno de ventajas, y para ello te proponemos este curso de Git.

curso-git

Recuerda que puedes comenzar este curso con tu suscripción a OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.


Compartir este post

También te puede interesar...

Curso de Git

Curso de Git

2 horas y 52 minutos · Curso

Aprende a dominar GIT, usando la línea de comandos, lo que permite desenvolvernos con GIT en cualquier entorno para convertirte en un profesional .

  • Herramientas
Artículos
Ver todos

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.