Ich benutze Jenkins und Gradle, um mein Java-Projekt zu erstellen.
Jedes Mal, wenn ich mein Projekt erstelle, wird auf dem Jenkins-Bildschirm eine neue Build-Nummer angezeigt.
Das Folgende sind meine Jenkins Build-Informationen:
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
Ich möchte die Jenkins-Build-Nummer wie folgt zurücksetzen:
Success > Console Output #1 03-Jan-2014 12:02:45
Wie kann ich die Build-Nummer in Jenkins zurücksetzen?
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/
Linux gehen und der Name des Verzeichnisses dort ist der genaueVon hier aus
quelle
quelle
Wenn Sie die nächste Build-Nummer festlegen möchten, gibt es dafür das Plugin "NextBuildNumber". Dies funktioniert in Ihrem Fall jedoch nicht, da die von Ihnen benötigte Build-Nummer (1) geringer ist als Ihre aktuelle Build-Nummer.
Hier müssen zuerst alle vorherigen Builds gelöscht werden. Sie können dies tun, indem Sie dieses einfache Skript ausführen. Gehen Sie zu -> Jenkins verwalten -> Skriptkonsole
Jetzt können Sie die nächste Build-Nummer auf 1 setzen und den Build ausführen. Es beginnt mit 1 . :) So einfach ist das.
Update - Jenkins verfügt jetzt über ein Plugin zum Löschen des Auftragsverlaufs, um dies auf einfachste Weise zu erledigen. Weitere Informationen finden Sie auf der Seite unter https://wiki.jenkins.io/display/JENKINS/Purge+Job+History+Plugin
quelle
Um Ihre Build-Nummer allgemeiner auf zurückzusetzen
N
(wobeiN
nicht unbedingt 1 ist):buildNumber >= N
.Program Files (x86)/Jenkins/jobs/yourjob/nextBuildNumber
. Stellen Sie die darin enthaltene Nummer auf einN
.Manage Jenkins -> Reload Configuration from Disk
.quelle
Um die akzeptierte Antwort zu erweitern, gehen Sie wie folgt für alle Projekte gleichzeitig vor:
quelle
Als Erweiterung der hervorragenden Antwort von @ antweiss können wir sogar noch weiter gehen ...
Es ist nicht erforderlich, den vollständigen Build-Verlauf zu löschen. Wenn Sie dies nicht möchten, können Sie die Zeit einfach auf einen früheren Punkt zurücksetzen:
Wenn Sie einen Dummy-Lauf wünschen, um zu überprüfen, was er tun soll, ohne es tatsächlich zu tun, kommentieren Sie einfach die Zeilen und aus
build.delete()
und kommentieren Sieitem.updateNextBuildNumber(resetNumberTarget)
die verschiedenen Druckbefehle aus.Dokumentation: Details dieser Objekte waren schwer zu finden, aber ich habe Folgendes identifiziert:
item
ist ein FreeStyleProject (oder möglicherweise nur irgendeine Art von abstraktem Projekt ?)build
erscheint ein zu Run , so dass eine Belichtungsnummer Eigentum und inheritting eine delete () Methode von Jobquelle
Sie können entweder ein
nexBuildNumber
Plug-In verwenden oder einfach dienexBuildNumber
Datei ändern , um die Build-Nummer zurückzusetzen. Im Folgenden sind die Schritte aufgeführt, die Sie ausführen müssen:.jenkins/Jobs/<YourJobName>/build/
, sichern Sie diesen Ordner (falls Sie ihn für die zukünftige Verwendung benötigen) und löschen Sie den Build- Ordner.nextBuildNumber
Datei in Ihrem Job-Verzeichnis ändern.quelle
Ich habe einen einfachen Weg gefunden, dies zu tun.
Jenkins verwendet den vorherigen Build, um die nächste Build-Nummer zu bestimmen. Wenn die von Ihnen eingegebene Build-Nummer niedriger als die vorherige Build-Nummer ist, erhöht Jenkins Ihre Build-Nummer automatisch auf einen höheren Wert als den vorherigen Build. Also hier haben wir einfach
quelle
So setzen Sie die Build-Nummern aller Jobs zurück:
quelle