2012-10-30 16 views
5

Nasza konstrukcja commit (Maven) nie używa czystej. Dzięki temu jest znacznie szybszy. Ale czasami otrzymujemy takie rzeczy jak przeniesiona lub usunięta klasa testowa, która pozostaje w pobliżu i wykonuje się, a często kończy się niepowodzeniem.Ponownie uruchom nieudaną konstrukcję Jenkinsa z czystym

Czy istnieje sposób na skonfigurowanie Jenkinsa w taki sposób, aby próbował ponownie uruchomić kompilację, ale wykonał czysty lub czysty obszar roboczy z przodu?

+0

Jak długo trwa budowanie? – khmarbaise

+0

mniej niż 6 minut bez czyszczenia, blisko 10 czystych. –

Odpowiedz

4

Co powiesz na użycie akcji "Buduj sparametryzowane budowanie na innych projektach" po wykonaniu?

Dla „Projekty na rzecz budowy”, użyj „$ job_name”, która wyzwoli pracę samego
Dla „Wyzwalanie gdy budowa jest”, użyj „Failed” z rozwijanego
Następnie kliknij „Dodaj Parameters” i wybierz „Obecny Budowa Parametry
końcu dodać«zdefiniowanych parametrów», trzeba ustawić coś w stylu«PRZEBUDOWA = TRUE»

teraz trzeba etapu budowy, który wykonuje przed SVN Checkout
zainstalować ten plugin:
https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep

Teraz, w konfiguracji zadania, w "Build Environment", pojawi się znacznik wyboru dla "Run buildstep przed uruchomieniem SCM". Sprawdź, czy
Następnie dodaj krok kompilacji dla "Wykonaj powłokę" lub "Wykonaj polecenie wsadowe systemu Windows", w zależności od systemu operacyjnego. W tym kroku kompilacji uruchom proste sprawdzenie, czy zmienna "REBUILD" jest równa "TRUE", ponownie w zależności od wyboru powłoki systemu operacyjnego. A jeśli ma wartość true, wyczyść przestrzeń roboczą z powłoki, usuwając całą zawartość. Możesz być bardziej konkretny i usunąć tylko katalog kasyn SVN, jeśli to konieczne.

+1

Co jeśli kompilacja ponownie nie powiedzie się, z jakiegoś powodu którego nie można naprawić czystą kompilacją? Czy istnieje sposób, aby powstrzymać Jenkinsa, który wielokrotnie próbuje zbudować? – danio

0

Proponuję użyć Retry-Failed-Builds-Plugin do powtórzenia tego rodzaju zadań.

+0

Ani to, ani jego zastąpienie https://wiki.jenkins-ci.org/display/JENKINS/Naginator+Plugin wydaje się mieć jakąkolwiek obsługę specjalnych kroków między awariami i ponownymi uruchomieniami .. –

0

Plugin-niepowodzenia-kompilacja-wtyczka jest przestarzała. Naginator Plugin nie uruchamia się, chyba że jest to ciężka awaria. Nie przyszło mi to do głowy. Możesz wypróbować Build Flow Plugin

+0

Wtyczka Build Flow jest "przestarzała: użytkownicy powinni migrować do https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin" – jdv

Powiązane problemy