Jenkins - Dont-build für bestimmte commiter oder commit-Nachricht
Ich habe einige Probleme mit Jenkins und seine Git.
Derzeit ein Gitlab server ist die Auslösung des builds, aber ich möchte den Auftrag so konfigurieren, so dass es nicht bauen, wenn eine bestimmte Nachricht übertragen.
Habe ich versucht, mit Hilfe der ci-skip-plugin ( https://github.com/banyan/jenkins-ci-skip-plugin ), aber anstelle des nicht starten des job, das plugin ermöglicht es zu starten aber dann bricht es.
Es macht den job, aber ich habe abgebrochen builds in Jenkins Geschichte und ich versuche das zu vermeiden.
Jemand geschafft, das zu tun?
- Haben Sie jemals herausfinden?
- nop. Konnte nicht einen Weg finden, um zu vermeiden, dass die jobs abgebrochen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jenkins git plugin selbst bietet bereits diese Arten von fortgeschrittenen Verwendung.
Ausschließen bestimmter Nachrichten
Ausschließen bestimmter Committern
Vergessen Sie nicht, klicken Sie auf Hilfe am Ende eines jeden von Ihnen zu lernen, die richtige Art und Weise der Verwendung.
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered.
- Es scheint, wie wenn Sie mit git-hooks statt der polling-Sie könnten geklebt werden. Das ist seltsam, wie polling ist schlecht und die Haken sind gut.Wenn Sie noch nicht eine Lösung gefunden:
Konfigurieren Sie Ihren job zu poll SCM aber nicht geben ein timeplan für die (ignorieren Sie die Warnung, dass Ihre Arbeit würde nie laufen.
Konfigurieren Sie die scm-Abschnitt zu ignorieren verpflichtet, Benutzern, etc.
Verwenden Sie einen trigger für Ihre Aufträge wie folgt:
http://yourserver/git/notifyCommit?url=<URL of the Git repository>[&branches=branch1[,branch2]*][&sha1=<commit ID>]
gesehen auf Git Plugin-SeiteWenn die URL aufgerufen wird, jenkins scan-jobs, die mit diesem repository. Dann prüft es, für jede spezifische Einstellungen (e. g. ignorieren verpflichtet, die von bestimmten Benutzern oder mit einigen von commit-Nachrichten) und entweder die bauen oder nicht. Natürlich wird der build immer irgendwie anfangen zu Umfrage von scm und überprüfen Sie begeht, aber wenn es abgebrochen wird, aufgrund unwichtig verpflichtet Sie nicht sehen, eine abgebrochene bauen in Ihrer Geschichte.
Benötigen Sie das externe Skript.
Pull-out-Projekt (git clone/Holen) und dann, bevor Sie mit Ihren build zu überprüfen, um zu sehen, ob die bestimmte Nachricht in Ihrem repository.
Überprüfen, um zu sehen, ob Ihre Nachricht dort können Sie die git-Karte oder git log-Befehle.
git log
git grep
Außerhalb von Jenkins
Code hinzufügen, um
git hook
die schauen, was Sie finden wollen *Nachrichten, commit, etc) und nur, wenn Sie finden, es nennt Jenkins die über REST-API und starten Sie Ihren job.Dies ist der Weg im mit Jenkins, überprüfe ich für etwas, das ich suchen und dann im Aufruf Jenkins via API
Lesen Sie mehr hier & hier