Jenkins po sprzątaniu

Jenkins po sprzątaniu

Jenkins „Działania po budynku” pozwala zdefiniować działania, które należy podjąć po zakończeniu kompilacji. Jednym z tych działań jest akcja „Oczyszczanie awarii po budynku”, która pozwala określić zestaw plików lub katalogów, które należy usunąć, jeśli kompilacja się nie powiedzie.

Może to być przydatne do oczyszczenia dowolnych plików lub katalogów utworzonych w ramach procesu kompilacji i nie jest już potrzebne, jeśli kompilacja się nie powiedzie. Możesz określić pliki lub katalogi do usunięcia, wprowadzając listę wzorców i używając wieloznacznych kart do dopasowania żądanych plików.

W tym samouczku dowiesz się, jak skonfigurować akcję kompilacji o czyszczeniu po zapleczu w Jenkins.

Jenkins Post Block

Blok pocztowy to sekcja Jenkinsfile, która określa serię kroków, które należy uruchomić po wykonaniu głównego rurociągu. Może wykonywać zadania oczyszczające, wysyłać powiadomienia lub wykonywać inne działania, które należy uruchomić niezależnie od tego, czy rurociąg się powiódł.

Blok pocztowy może zawierać kilka bloków, w tym sukces, porażkę, niestabilne, zmienione i zawsze. Każdy z tych bloków jest wykonywany w zależności od wyniku rurociągu. Na przykład blok awarii jest wykonywany, jeśli jakikolwiek etap rurociągu ulegnie awarii, a blok sukcesu jest wykonywany, jeśli wszystkie etapy rurociągu są powiodowe.

Możemy użyć bloku postu, aby zdefiniować działanie oczyszczania obszaru roboczego, jeśli kompilacja się nie powiodła.

Przykład 1 - Podstawowe czyszczenie obszaru roboczego

Poniższy rurociąg pokazuje, w jaki sposób możemy użyć bloku pocztowego, aby zdefiniować działanie oczyszczania, jeśli kompilacja się nie powiedzie.

rurociąg
agent dowolny
Etapy
etap („build”)
kroki
SH 'Hello.cii'



post
awaria
deletedir ()


Ten Jenkinsfile definiuje rurociąg z jednym etapem o nazwie „Build”. Wewnątrz sceny możesz umieścić swoje stopnie kompilacji. Blok słupkowy na końcu pliku zawiera blok awarii, który zostanie wykonany, jeśli etap rurociągu ulegnie awarii. Funkcja DeletEdir () usunie cały obszar roboczy, skutecznie ją oczyszczając.

Zauważ, że ten Jenkinsfile wyczyści obszar roboczy na temat awarii dla wszystkich etapów w rurociągu. Jeśli chcesz wyczyścić obszar roboczy tylko dla określonych etapów, możesz określić wiele bloków pocztowych, jeden dla każdego etapu.

Przykład 2 - Obszar roboczy czyszczenia na każdym etapie

Poniższy przykład rurociąg pokazuje, jak zdefiniować operację po czyszczeniu na każdym etapie:

rurociąg
agent dowolny
Etapy
etap („build”)
kroki
// Kroki kompilacji Przejdź tutaj


etap („test”)
kroki
// Kroki testowe przejdź tutaj



post
awaria
// Oczyść obszar roboczy na temat awarii etapu kompilacji
deletedir ()


post
awaria
// Oczyść obszar roboczy na temat awarii etapu testowego
deletedir ()


Wniosek

W tym poście odkryłeś, w jaki sposób możesz użyć Jenkins Post Block i awarii, aby oczyścić obszar roboczy, jeśli kompilacja nie powiedzie się na danym etapie.