Integración continua con Jenkins
En plataforma usamos Jenkins como herramienta de integración continua. Definimos dos tipos de Pipeline, siempre utilizando el DSL de Jenkins basado en Groovy como lenguaje:
Multibranch pipeline: La definición de tareas de integración continua se lleva en un fichero versionado dentro de Git, con lo cual, con la creación de cada rama de repositorio lleva asociada su propia definición de integración continua. Este tipo de pipelines se ejecutan de manera diaria por las noches (nightly compilation) pasando test unitarios, de integración y reglas de calidad de código (Sonarqube) .
Parametrized pipeline: Este tipo de pipelines, dependiendo de su función, necesitan determinados parámetros para ejecutarse, por ejemplo, si es un pipeline de generación de imágenes necesita el tag de la imagen a generar en el registro Docker, la rama origen a partir de la cual se van a generar las imágenes, etc...
Este tipo de pipelines, al igual que los de tipo Multibranch se codifica usando el DSL específico de Jenkins basado en Groovy: