Pulizia post-fallimento di Jenkins

Pulizia post-fallimento di Jenkins

Le "azioni post-build" di Jenkins consentono di definire le azioni che dovrebbero essere intraprese dopo che una build è stata completata. Una di queste azioni è l'azione "Cleanup di fallimento post-build", che consente di specificare un set di file o directory che devono essere eliminati se la build non riesce.

Ciò può essere utile per ripulire qualsiasi file o directory creati come parte del processo di build e non è più necessario se la build non riesce. È possibile specificare i file o le directory da eliminare inserendo un elenco di modelli e utilizzando i caratteri jolly per abbinare i file desiderati.

In questo tutorial, imparerai come configurare un'azione di build di pulizia post-falsa in Jenkins.

Jenkins Post Block

Il blocco post è una sezione di Jenkinsfile che specifica una serie di passaggi da eseguire dopo l'esecuzione principale della pipeline. Può eseguire compiti di pulizia, inviare notifiche o eseguire altre azioni che dovrebbero essere eseguite indipendentemente dal fatto che la pipeline abbia avuto successo.

Il blocco post può contenere diversi blocchi, tra cui successo, fallimento, instabile, cambiato e sempre. Ognuno di questi blocchi viene eseguito in base all'esito della pipeline. Ad esempio, il blocco di errore viene eseguito se qualsiasi fase della pipeline fallisce e il blocco di successo viene eseguito se tutte le fasi della pipeline hanno esito positivo.

Possiamo usare il blocco post per definire l'azione di pulizia dell'area di lavoro se una build non è riuscita.

Esempio 1 - Cleanup di base dell'area di lavoro

La seguente pipeline mostra come possiamo utilizzare il blocco post per definire un'azione di pulizia se una build fallisce.

tubatura
agente qualsiasi
fasi
Stage ('build')
Passaggi
sh 'ciao.sh'



inviare
fallimento
deletedir ()


Questo Jenkinsfile definisce una pipeline con una singola fase chiamata "build". All'interno del palco, puoi mettere i passi di build. Il blocco post alla fine del file contiene un blocco di errore che verrà eseguito se lo stadio della pipeline non riesce. La funzione deletedir () eliminerà l'intero spazio di lavoro, pulindolo efficacemente.

Si noti che questo Jenkinsfile ripulerà l'area di lavoro in caso di guasto per tutte le fasi nella pipeline. Se si desidera ripulire l'area di lavoro solo per fasi specifiche, è possibile specificare più blocchi di post, uno per ogni fase.

Esempio 2 - Pulsella di lavoro in ogni fase

La pipeline di esempio seguente dimostra come si definisce l'operazione post-pulizia su ciascuna fase:

tubatura
agente qualsiasi
fasi
Stage ('build')
Passaggi
// Build Passi vai qui


stadio ('test')
Passaggi
// I passaggi di prova vanno qui



inviare
fallimento
// Pulisci spazio di lavoro sul fallimento della fase di build
deletedir ()


inviare
fallimento
// Pulisci spazio di lavoro sul fallimento della fase di prova
deletedir ()


Conclusione

In questo post, hai scoperto come puoi utilizzare l'azione Jenkins Post Block e Falling per ripulire l'area di lavoro se una build fallisce su una determinata fase.