Árbol de páginas


Introducción

CI/CD (Continuous Integration / Continuous Delivery) es una práctica de producción de código especialmente indicada para desarrollo compartido y grupos ágiles. La propia metodología incorpora mecanismos para gestionar los cambios, que exista visibilidad de quién los produce, realizar test de seguridad, calidad y funcionalidad y automatizar los despliegues. Se incluye dentro de lo que se denomina las prácticas continuas.

El elemento central de CI/CD es un repositorio en un servicio git como gitlab.com. De forma equivalente se puede practicar CI/CD con github


Pipelines

Para poner el caso concreto de un investigador, un repositorio git será una serie de carpetas y ficheros que contienen lo necesario para compilar un programa o construir una imagen de contenedor que necesitamos para ejecutar un experimento.

Se llama pipeline a la secuencia de operaciones que realizaremos con el contenido del repositorio. Si todo va bien en el pipeline, las operaciones que incluye producirán un resultado útil para nuestro propósito. El pipeline es otro fichero de texto con instrucciones que se incluye en el repositorio. La sintaxis no es muy complicada.



En la Universidad usamos pipelines para muchas finalidades. La primera es para la factoría de software de ATICA que de esta manera produce y despliega programas en nuestros servidores y en la nube. Es un proceso básicamente declarativo y automatizado, por lo que es reproducible.

También usamos pipelines CI/CD para distribuir software en el nuevo cluster en cloud ATLAS. 

Hay diversos usos para los pipelines como este de entrenar un modelo ML. La siguiente imagen pretende solamente mostrar el concepto secuencia. Visitando el enlace obtenemos una visión ampliada.


fuente: https://www.azuredevopslabs.com/labs/vstsextend/aml/

Más información

Gitlab proporciona documentación para ayudar a la comprensión del proceso.


Documentación online:  https://docs.gitlab.com/ee/ci/pipelines/

Video taller  hands-on-lab: 

  • Sin etiquetas