¿Qué es Gitlab CI?
Gitlab es una de las plataformas utilizadas por equipos de desarrolladores para poder llevar el versionamiento de su código e implementar diferentes procesos de automatización para el desarrollo y manejo de proyectos. Actualmente podemos encontrar la plataforma de Gitlab que nos permite crear y manejar repositorios de código y otras funcionalidades, pero existe la posibilidad de implementar un servidor de gitlab sobre una infraestructura propia. Existen dos versiones disponibles de Gitlab: la primera es la versión para empresas y la segunda es la versión para la comunidad, el código de Gitlab está disponible bajo la licencia MIT y es una plataforma de código abierto.

Ventajas
Ventajas de usar gitlab:
- La administración y configuración es sencilla de utilizar
- Integración de prácticas para el ciclo DevOps
- Automatizar tareas para el despliegue de aplicaciones
- Manejo de repositorios de Git
- Puede realizarse una implementación con recursos propios
- Pueden utilizarse agentes externos que puedan ejecutar tareas
- Manejo de permisos de los diferentes colaboradores
- Permite poder importar y exportar proyectos de otras plataformas
Uso
Para iniciar a integrar el uso de la funcionalidad de gitlab, podemos crear un repositorio en gitlab. En una cuenta grátis podemos tener 400 minutos de CI/CD gratis, para iniciar la prueba es bastante útil. Para inicar el uso, gitlab por defecto hace uso de un archivo de configuración que se debe encontra en la raíz del repositorio. El archivo debe llamarse .gitlab-ci.yml
Un ejemplo del archivo:
variables:
# definicion de variables de ambiente
stages:
- build
- deploy
build:
only:
refs:
- main
stage: build
script:
# comandos de build
deploy:
only:
refs:
- main
stage: deploy
script:
# comandos para desplegar
Acciones de gitlab
El ejemplo anterior muestra una configuración básica del archivo que gitlab utiliza para poder construir, probar y desplegar la aplicación. Podemos especificar las acciones que se deben haciendo referencia a que se ejecute cuando un cambio ocurra en una rama específica o una etiqueta de git. Pueden haber acciones que se ejecuten en ramas especificas.
Variables de Ambiente
Gitlab permite definir variables en el archivo o se puede incluir en la configuración del proyecto, esto es muy útil en caso se tengan credenciales que no se pueden exponer en el archivo de configuración.