Używam Jenkins i Gradle do tworzenia mojego projektu Java.
Za każdym razem, gdy buduję projekt, na ekranie Jenkinsa pojawia się nowy numer kompilacji.
Poniżej znajdują się informacje o mojej kompilacji Jenkins:
Success > Console Output #96 03-Jan-2014 15:35:08
Success > Console Output #95 03-Jan-2014 15:27:29
Failed > Console Output #94 03-Jan-2014 15:26:16
Failed > Console Output #93 03-Jan-2014 15:25:01
Failed > Console Output #92 03-Jan-2014 15:23:50
Success > Console Output #91 03-Jan-2014 12:42:32
Success > Console Output #90 03-Jan-2014 12:02:45
Chcę zresetować numer kompilacji Jenkins, na przykład:
Success > Console Output #1 03-Jan-2014 12:02:45
Jak mogę zresetować numer kompilacji w Jenkins?
java -jar jenkins-cli.jar -s https://jenkins.example.com groovysh \ 'jenkins.instance.getItemByFullName("job-name").updateNextBuildNumber(1021)'
echo "deleting all builds of ${jobName}" item = Jenkins.instance.getItemByFullName("${jobName}") for (build in item.builds){ build.delete(); } item.updateNextBuildNumber(1)
/var/lib/jenkins/jobs/
systemu Linux, a nazwa katalogu zawiera dokładną nazwę pracyod tutaj
źródło
źródło
Jeśli chcesz ustawić następny numer kompilacji, jest do tego wtyczka „NextBuildNumber”. Ale to nie zadziała w twoim przypadku, ponieważ wymagany numer kompilacji, czyli 1, jest mniejszy niż bieżący numer kompilacji.
Tutaj musisz najpierw usunąć wszystkie poprzednie kompilacje. Możesz to zrobić, uruchamiając ten prosty skrypt Idź do -> Zarządzaj Jenkins -> Konsola skryptów
Teraz możesz ustawić następny numer kompilacji na 1 i uruchomić kompilację. Zacznie się od 1 . :) To takie proste.
Aktualizacja - Jenkins ma teraz wtyczkę Purge Job History, dzięki której można to zrobić w najprostszy sposób. Sprawdź stronę, aby uzyskać więcej informacji - https://wiki.jenkins.io/display/JENKINS/Purge+Job+History+Plugin
źródło
Aby bardziej ogólnie zresetować numer kompilacji do
N
(gdzieN
niekoniecznie jest 1):buildNumber >= N
.Program Files (x86)/Jenkins/jobs/yourjob/nextBuildNumber
. Ustaw liczbę, którą zawieraN
.Manage Jenkins -> Reload Configuration from Disk
.źródło
Rozwijając zaakceptowaną odpowiedź, oto jak to zrobić dla wszystkich projektów naraz:
źródło
Jako rozszerzenie doskonałej odpowiedzi @ antweiss możemy pójść dalej ...
Nie ma potrzeby usuwania pełnej historii kompilacji, jeśli nie chcesz, możesz po prostu cofnąć czas do poprzedniego punktu:
Jeśli chcesz uruchomić atrapę, aby sprawdzić, co zamierza zrobić, bez faktycznie robi, po prostu zakomentuj
build.delete()
iitem.updateNextBuildNumber(resetNumberTarget)
linie odkomentowane różne polecenia drukowania.Dokumentacja: Szczegóły tych obiektów były trudne do znalezienia, ale zidentyfikowałem następujące:
item
to jest FreeStyleProject (lub być może dowolny rodzaj projektu abstrakcyjnego ?)build
wydaje się być Run , w ten sposób ujawniając właściwość number i dziedzicząc metodę delete () z Jobźródło
Możesz użyć
nexBuildNumber
wtyczki lub po prostu zmodyfikowaćnexBuildNumber
plik, aby zresetować numer kompilacji. Oto kroki, które musisz wykonać:.jenkins/Jobs/<YourJobName>/build/
, zrób kopię zapasową tego folderu (jeśli potrzebujesz go w przyszłości) i usuń folder kompilacji .nextBuildNumber
plik w katalogu yourjob.źródło
Znalazłem na to łatwy sposób.
Jenkins używa poprzedniej kompilacji do określenia następnego numeru kompilacji, jeśli wprowadzony numer kompilacji jest niższy niż poprzedni numer kompilacji, Jenkins automatycznie zwiększy numer kompilacji do wyższego niż poprzednia kompilacja. Więc tutaj po prostu
źródło
Użyj wtyczki Purge Job History (Jenkins> = 2.176.1)
https://plugins.jenkins.io/purge-job-history/
źródło
Aby zresetować numery kompilacji wszystkich zadań:
źródło