Revisar fallos en pipeline#
Estados del pipeline#
Como se mencionó en el documento del flujo de trabajo. El pipeline es una rutina que permite ejecutar un proceso automatizado cada vez que se hace push a una rama del repositorio principal o de algún fork.
Esto hace que todas las tareas que se entregan en el repositorio central de tareas puedan ser visualizadas en la vista web del sitio estatico.
Después de la ejecución del pipeline, se pueden tener dos estados:
-
passed: No existen problemas en el material entregado.
-
failed: Existen fallas que no permiten que se pueda construir el sitio estático con los últimos cambios versionados.
En el caso de que el estado del pipeline de CI/CD sea failed
, se tendrán que realizar las siguientes verificaciones:
-
Los nombres de archivo no tienen espacios, acentos o caracteres especiales:
- Se recomienda que se separen los elementos del nombre del archivo con guiones medios.
- Ej.
archivo-con-un-nombre-largo.md
ofoto-del-plano-de-red.jpg
.
-
Los hipervínculos que se incluyen en los archivos markdown hacen referencia a archivos válidos:
- El archivo al que se hace referencia existe y no está listado en el archivo
.gitignore
. - El archivo no contiene espacios, acentos o caracteres especiales en el nombre.
- El archivo esta en la carpeta adecuada.
- Las imágenes van dentro del directorio
img
. - Los archivos adicionales van dentro del directorio
files
.
- Las imágenes van dentro del directorio
- El archivo al que se hace referencia existe y no está listado en el archivo
-
El formato del archivo Markdown es correcto:
Así se escribe una liga hacia otro documento o archivo:
[archivo README.md](ruta/hacia/README.md)
[Escenario de Packet Tracer](files/archivo.pkt)
[Captura de tráfico de WireShark](files/captura.pcap)
Así se escribe una liga hacia una imagen:

Probar los cambios localmente#
Instalar requisitos#
Instalar los requisitos para construir el sitio de manera local
$ sudo -i
...
# apt install build-essential make python3-pip python3-dev
Ejecutar mkdocs#
Se ejecuta mkdocs
de manera local para visualizar errores, mkdocs
se instala de manera local si es necesario:
$ make
which mkdocs || \
pip3 install --user --requirement requirements.txt
/home/tonejito/.local/bin/mkdocs
mkdocs serve --strict --verbose
INFO - Building documentation...
INFO - Cleaning site directory
WARNING - Documentation file 'workflow/README.md' contains a link to 'workflow/img/000-workflow.png' which is not found in the documentation files.
Exited with 1 warnings in strict mode.
make: *** [Makefile:17: serve] Error 1
En este caso el mensaje de error muestra que la imagen workflow/img/000-workflow.png
no existe y esta siendo referenciada en el archivo workflow/README.md
.
Ejecutar make
después de resolver los conflictos
$ make
which mkdocs || \
pip3 install --user --requirement requirements.txt
/home/tonejito/.local/bin/mkdocs
mkdocs serve --strict --verbose
INFO - Building documentation...
INFO - Cleaning site directory
INFO - Documentation built in 0.31 seconds
[I 210310 01:02:03 server:335] Serving on http://127.0.0.1:8000
INFO - Serving on http://127.0.0.1:8000
[I 210310 01:02:03 handlers:62] Start watching changes
INFO - Start watching changes
[I 210310 01:02:03 handlers:64] Start detecting changes
INFO - Start detecting changes
...
Si los conflictos fueron resueltos, el sitio será visible en http://localhost:8000/
Revisar pipelines en la interfaz de GitLab#
Revisar lista de pipelines#
Para revisar los fallos de pipeline en la interfaz de GitLab, ir a la sección de CI/CD y luego a Pipelines
Repositorio de tareas |
---|
![]() |
Revisar pipeline fallido#
Busca en la lista de pipelines para ver cual fue el que falló
Lista de pipelines |
---|
![]() |
Da clic en el pipeline #265156407
Pipeline fallído |
---|
![]() |
Da clic en test
para abrir el estado del trabajo #1071780438
Job fallído |
---|
![]() |
- Aquí se muestran los pasos que se siguieron para probar la construcción del sitio estático
- Ignora las líneas que tienen el prefijo
DEBUG
- Las líneas
106
a115
indican que el problema es que se hace referencia a archivos que no existen en el repositorio:
106 WARNING - Documentation file 'workflow/README.md' contains a link to 'workflow/img/001-Main_repo.png' which is not found in the documentation files.
...
115 WARNING - Documentation file 'workflow/README.md' contains a link to 'workflow/img/009-Main_MR_merged.png' which is not found in the documentation files.
Resolver problemas#
Hacer los cambios correspondientes para resolver el problema
- Se agregan los archivos faltantes al repositorio, se hace
commit
ypush
.
$ git add docs/workflow/img/???-*.png
$ git commit -m "Agregando imagenes faltantes"
$ git push
Revisar si el nuevo pipeline fue exitoso#
Después de corregir los cambios y enviarlos al repositorio, se abre de nuevo la página de los pipelines de CI/CD para verificar que ya no haya problemas.
- Como resultado ya no hay conflictos en el nuevo pipeline
#265158713
que se ejecutó
Pipeline exitoso |
---|
![]() |
- Adicionalmente ya no hay errores en el nuevo job
#1071791158
que se ejecutó.
Job exitoso |
---|
![]() |
Con esto se resolvieron los problemas del pipeline en el repositorio de tareas.
Notas:
- El merge request se actualiza automáticamente cuando se hace push al repositorio fork.
- Debes revisar la sección de pipelines de CI/CD para tu repositorio, puesto que ahi es donde se listan los errores que puedas tener.