🥇 Test Stage (escenario de prueba)

🍿 ¿Por qué los jobs fallan?

Cada que un comando es ejecutado, el sistema responde con un estatus, este puede ser:

  • 0, para una ejecución exitosa.
  • 1 a 255, para reportar un error.

Una forma de validar la integridad de nuestro proyecto es buscar un patrón dentro de los archivos.

Dentro del proyecto, en el directorio public vamos a verificar que la palabra “Gatsby” aparezca dentro del archivo “index.html”, esto debido a que cuando se genera dicho archivo el contenido de este incluye dicha palabra.

cd public
grep "Gatsby" index.html
echo $?
0

Si por ejemplo intentamos buscar un texto que sabemos que no existe dentro de index.html, la salida seria la siguiente.

grep "aleluya" index.html
echo $?
1

El comando echo $? nos entrega el código de la última respuesta de la línea de comandos.

Ahora podemos expandir nuestro archivo .gitlab-ci.yml para que ejecute el escenario de prueba.

stages:
    - build
    - test

build website:
    stage: build
    image: node
    script:
        - npm i
        - npm i -g gatsby-cli
        - gatsby build
    artifacts:
        paths:
            - ./public

test artifact:
    image: node
    script:
        - grep "Gatsby" "./public/index.html"

Podemos confirmar que la ejecución del pipeline se realiza de forma exitosa, el artifact es compartido a través de ambas stages y en el stage de test se verifica que index.html contenga el texto “Gatsby”.