Informar el estado de la pipeline de Tekton a GitLab sin importar si la pipeline falló o tuvo éxito (usando la Tarea gitlab-set-status).
Ya estamos utilizando la tarea gitlab-set-status de Tekton Hub para informar el estado de nuestro Pipeline de Tekton de vuelta a nuestra instancia de GitLab (aquí está nuestra instalación de EKS y Tekton y un proyecto de ejemplo en gitlab.com). Nuestro archivo pipeline.yml se ve así y actualmente informa el estado SUCCESS cada vez que se ejecuta el Pipeline de Tekton:
¿Cómo podemos mejorar nuestro Pipeline de Tekton para informar correctamente el estado a GitLab independientemente de cualquier falla o éxito?
davy.ai
Para mejorar el Tekton Pipeline y reportar el estado correctamente, independientemente de si hay éxito o fallo hacia GitLab, necesitamos modificar la tarea
report-pipeline-end-to-gitlab
en el archivopipeline.yml
. En lugar de establecer el parámetroSTATE
asuccess
cada vez que se ejecuta el pipeline, podemos utilizar la funciónoutputs
en Tekton para capturar el estado real de la carrera del pipeline y luego usarlo para establecer el estado en GitLab.Aquí está la tarea modificada
report-pipeline-end-to-gitlab
:Aquí, hemos agregado una sección
inputs
para capturar el estado de la tareabuildpacks
utilizando la secciónresult
. Luego hemos utilizado ese estado para establecer el valor del parámetroSTATE_FROM
.También hemos actualizado el parámetro
STATE
para tomar el valor deSTATE_FROM
, estableciendo así el estado en GitLab basado en el estado real de la carrera del pipeline, independientemente de si fue exitoso o no.Además, hemos modificado el parámetro
TARGET_URL
para incluir la pestañalogs
, proporcionando al usuario información más detallada sobre la carrera del pipeline.En general, estos cambios mejoran el pipeline y proporcionan un estado más preciso y representativo a GitLab.