¿Cómo ejecutar tareas en paralelo?
GitLab tiene al capacidad de ejecutar varios procesos de forma simultanea. Supongamos que posterior al build deseamos realizar 2 pruebas en paralelo.
- La primera prueba es para verificar que el archivo index.html se haya escrito correctamente dentro de public.
- La segunda prueba es para verificar que el archivo manifest.webmanifest se haya escrito correctamente también dentro de public.
Para ello podemos actualizar nuestro .gitlab-ci.yml, en este caso con 2 escenarios de test.
stages:
- build
- test
build website:
stage: build
image: node
script:
- npm i
- npm i -g gatsby-cli
- gatsby build
artifacts:
paths:
- ./public
test index:
stage: test
image: alpine
script:
- grep "Gatsby" "./public/index.html"
test manifest:
stage: test
image: alpine
script:
- grep "icons" "./public/manifest.webmanifest"
La imagen alpine es una imagen que contiene un sistema operativo Linux de forma superoptimizada. Es decir que solo requiere de 5MB para funcionar.
Al empujar los cambios a GitLab, podremos ver que tanto test index como test manifest se ejecutan de forma simultanea.
La principal ventaja de la ejecución de jobs en paralelo es que permite realizar agilizar las operaciones de despliegue de la pipeline, al realizar dichas operaciones de forma simultanea.