Jenkins Post-Failur Cleanup

Jenkins Post-Failur Cleanup

Jenkins "acciones posteriores a la construcción" le permite definir acciones que deben tomarse después de completar una construcción. Una de estas acciones es la acción de "limpieza de falla posterior a la construcción", que le permite especificar un conjunto de archivos o directorios que deben eliminarse si la compilación falla.

Esto puede ser útil para limpiar cualquier archivo o directorios creado como parte del proceso de compilación y ya no es necesario si la compilación falla. Puede especificar los archivos o directorios para eliminar ingresando una lista de patrones y utilizando comodines para que coincidan con los archivos deseados.

En este tutorial, aprenderá cómo configurar una acción de compilación de limpieza posterior a la falla en Jenkins.

Jenkins Post Block

El bloque Post es una sección de Jenkinsfile que especifica una serie de pasos que se ejecutarán después de la ejecución de la tubería principal. Puede realizar tareas de limpieza, enviar notificaciones o realizar otras acciones que deben ejecutarse independientemente de si la tubería fue exitosa.

El bloque post puede contener varios bloques, que incluyen éxito, falla, inestable, cambiado y siempre. Cada uno de estos bloques se ejecuta dependiendo del resultado de la tubería. Por ejemplo, el bloque de falla se ejecuta si alguna etapa de la tubería falla y el bloque de éxito se ejecuta si todas las etapas de la tubería tienen éxito.

Podemos usar el bloque Post para definir la acción de limpieza del espacio de trabajo si una compilación ha fallado.

Ejemplo 1 - Limpieza básica del espacio de trabajo

La siguiente tubería muestra cómo podemos usar el bloque posterior para definir una acción de limpieza si falla una compilación.

tubería
agente cualquiera
etapas
etapa ('construir')
pasos
sh 'hola.mierda



correo
falla
Deletedir ()


Este Jenkinsfile define una tubería con una sola etapa llamada "Build". Dentro del escenario, puedes poner tus pasos de compilación. El bloque post al final del archivo contiene un bloque de falla que se ejecutará si la etapa de la tubería falla. La función deletedir () eliminará todo el espacio de trabajo, limpiándolo efectivamente.

Tenga en cuenta que esto Jenkinsfile limpiará el espacio de trabajo sobre la falla de todas las etapas en la tubería. Si desea limpiar el espacio de trabajo solo para etapas específicas, puede especificar múltiples bloques de publicación, uno para cada etapa.

Ejemplo 2: espacio de trabajo de limpieza en cada etapa

El siguiente ejemplo de tuberías demuestra cómo definir la operación posterior a la limpieza en cada etapa:

tubería
agente cualquiera
etapas
etapa ('construir')
pasos
// Los pasos de construcción van aquí


etapa ('test')
pasos
// Los pasos de prueba van aquí



correo
falla
// Limpiar el espacio de trabajo en la falla de la etapa de construcción
Deletedir ()


correo
falla
// Limpiar el espacio de trabajo en la falla de la etapa de prueba
Deletedir ()


Conclusión

En esta publicación, descubrió cómo puede usar Jenkins Post Block y Faily Action para limpiar el espacio de trabajo si una compilación falla en una etapa determinada.