GitLab CICD es una herramienta que nos permite automatizar los procesos de integración, entrega y despliegue continuo en nuestros proyectos almacenados en GitLab. A continuación vamos a ver una forma rápida y sencilla de utilizarla.

Es importante que nos acostumbremos a trabajar con practicas que nos permitan detectar y solucionar errores de forma rápida y eficiente. La integración y entrega continua son algunas de ellas, y buscan automatizar procesos tales como la ejecución de pruebas y despliegues, desligándonos a nosotros como desarrolladores de estas tareas y permitiéndonos enfocarnos puramente en el desarrollo.

¿Cómo llevamos a cabo estas prácticas?

Con GitLab CI/CD podemos incorporar estos procesos automatizados de forma sencilla utilizando un GitLab Runner, una aplicación que se encarga de ejecutar las tareas que nosotros le indiquemos. Veamos como:

  • Ingresar a este link para descargar un GitLab Runner, debes seleccionar el sistema operativo en el cual vas a ejecutar el runner (en mi caso, windows).
  • Una vez descargado, movemos el ejecutable a a C:/GitLab-Runner (puede ser cualquier directorio).
  • Ahora hay que registrar y verificar el runner. Para esto, primero entramos al link de nuestro repositorio en GitLab y en el menú lateral vamos a Settings -> CICD 

Una vez acá, buscamos la sección Runners, expandimos y vemos que GitLab nos provee una url y un token para registrar un nuevo runner. 

Ahora si, parados sobre la carpeta donde ubicamos el runner, abrimos una terminal/cmd y ejecutamos el siguiente comando:

gitlab-runner-windows-amd64 register
  • Ahora debemos ingresar la url (podemos poner por defecto https://gitlab.com/) y el token. Luego nos va a pedir una descripción y uno/varios tags. Este dato es importante ya que será el identificador que usaremos para referenciar a este runner mas tarde.

  • Una vez hecho todo esto, el runner queda registrado. Ahora debemos indicarle el ejecutor, es decir, quien se encargará de correr los comandos dentro del runner. Nos da varias opciones (shell, kubernetes, docker, etc), el caso mas común es utilizar shell. 

Listo! Tenemos el runner registrado. Esto es lo que deberíamos tener hasta ahora en nuestra consola:

Ahora ejecutamos el siguiente comando para verificar que nuestro runner está activo.

gitlab-runner-windows-amd64 verify

Deberíamos ver algo así:


**Aclaración**

En caso de utilizar Windows 10, debemos hacer una pequeña modificación en el archivo de configuración del runner (config.toml), que se ubica en la misma carpeta que el exe del runner. Tenemos que cambiar el runner que vamos a utilizar por "powershell" (linea 12). Quedaría así:


Por ultimo, tiramos el comando start para ejecutar el runner:

gitlab-runner-windows-amd64 start
  • Para terminar, tenemos que configurar el pipeline. Para esto creamos el archivo .gitlab-ci.yml en la carpeta raíz de nuestro proyecto. Este es el que indica que tareas y scripts deben ejecutarse y con que runners en específico.

Para configurar el pipeline, en este archivo definimos los stages (en mi caso, compile build y luego test) y que debe hacer en cada uno, es decir, que scripts debe ejecutar. También indicamos en cada stage que runner va a ser el que ejecutará esa tarea (en mi caso, runner-ejemplo es el tag que le puse al runner que registré anteriormente).

En resumen, este pipeline se encarga de compilar el proyecto, buildearlo y luego ejecutar los tests unitarios.

Y con toda esta configuración tenemos nuestro pipeline listo y funcionando. Como punto adicional, podemos ir al detalle del pipeline y ver como se ejecutaron todas las tareas:

Mandanos tus sugerencias

Ayudanos con ideas para los artículos de este blog a contacto@somospnt.com

¡Seguínos en nuestras redes sociales para enterarte de los últimos posts!