¿Qué es YAML?

YAML (Yet Another Markup Language) es un formato de serialización de datos diseñado para ser fácil de leer y escribir. Se utiliza habitualmente en gestión de la configuración para los archivos de configuración, pero también puede utilizarse para almacenar datos en un formato estructurado como una lista o un diccionario.

YAML se basa en la idea de representar los datos en una estructura de árbol, en la que cada elemento de ese árbol se representa como un nodo. Los nodos pueden contener otros nodos, o pueden contener datos en forma de valores escalares (como cadenas o números).

YAML se utiliza a menudo porque es fácil de leer y escribir, y porque es menos verboso que otros formatos de serialización de datos como XML o JSON. También cuenta con una gran compatibilidad, con bibliotecas disponibles en muchos lenguajes de programación para analizar y generar YAML.

¿Cómo se utiliza YAML en CI/CD?

En CI/CD, YAML se utiliza como formato de archivo de configuración que define los procesos de compilación, prueba y despliegue de una aplicación o servicio. Permite a los desarrolladores especificar los pasos necesarios para compilar y desplegar su aplicación, así como las dependencias, variables de entorno y otros parámetros necesarios para ejecutar el proceso.

Algunas de las formas en que se utiliza YAML en CI/CD incluyen:

  1. Definición de la estructura del proceso: YAML se utiliza para establecer la estructura del proceso, incluyendo etapas, trabajos y pasos. Esto permite a los desarrolladores crear un proceso que ejecuta los pasos y pruebas adecuados para garantizar que la aplicación se compila, se prueba y se despliega correctamente.
  2. Especificación de las instrucciones de compilación y despliegue: YAML se utiliza para especificar las instrucciones de compilación y despliegue para cada etapa y tarea del proceso. Esto incluye comandos para compilar código, ejecutar pruebas y desplegar la aplicación en un entorno específico.
  3. Configuración de variables de entorno y dependencias: YAML se utiliza para configurar las variables de entorno y las dependencias que requiere el proceso. Esto incluye información como detalles de la conexión a la base de datos, claves API y bibliotecas externas.
  4. Habilitación de revisiones y aprobaciones de código: YAML puede utilizarse para definir flujos de trabajo de revisión y aprobación del código, lo que permite a los desarrolladores asegurarse de que los cambios en el código se revisan y aprueban antes de fusionarlos en la rama principal.

Kotlin DSL es una alternativa a YAML que permite a los equipos configurar sus proyectos como código de una forma más avanzada y operar su proyecto CI/CD a escala.