2017-10-23 7 views
1

Ich versuche, Jenkins Multi-Branch-Pipeline-Job zu bekommen, um Tags in ähnlicher Weise wie Zweige zu bauen. In Jenkins 2.73 (nicht sicher, wann die Funktionalität hinzugefügt wurde) können Multibranch-Projekte so konfiguriert werden, dass sie sowohl Zweige als auch Tags aus dem Quell-Repository abrufen. Anfangs dachte ich, das wäre perfekt für meine Bedürfnisse (meine Jenkinsfile kann jetzt Entwicklungs- oder Produktions-Builds von demselben Ort in Jenkins erstellen). Multibranch job with tags discovery configuredJenkins Multi-Branch-Pipeline plant keine Tag-Jobs

Ich habe den Build-Prozess selbst und ganz glücklich mit einer Skript-Pipeline ausgeführt wird, aber mein Problem ist, dass, während der Niederlassung Jobs Pickup meine Trigger perfekt (Cron wöchentlich) und sind damit auslösbare die Git-Plugin der notifyOnCommit-Funktionalität (erlaubt mir, Build wöchentlich zu reinigen, aber bauen Sie auf dem Repo sowie über einen Repo Scan Webhook), Tag Builds nicht.

Hat sonst noch jemand das gefunden? Wenn ja, haben Sie eine vernünftige Lösung gefunden?

Relevante Schnipsel aus meinem Skript Pipeline (Ich habe versucht, mit und ohne die overrideIndexTriggers Einstellung): properties( [ pipelineTriggers( triggers: [ cron('H 02 * * 7') ] ), overrideIndexTriggers(true) ] )

Polling configuration from a branch job generated by the multibranch pipeline seems fine Jobs von Tags, die von der mehrfach verzweigten Pipeline erzeugt erhalten nicht die gleiche Konfiguration, bizarr ...

Es ist eine Notiz im Scan-Protokoll mehrfach verzweigten Pipeline, die die Stichworte werden nie geplant auto schlägt vor: Processed 8 branches Checking tags... Checking tag testing ‘Jenkinsfile’ found Met criteria No automatic builds for testing Processed 1 tags [Mon Oct 23 09:55:00 UTC 2017] Finished branch indexing. Indexing took 8.1 sec Finished: SUCCESS

Meine proj ect ist Docker basiert und ich würde gerne einen Release-Build wöchentlich ausführen, um Base-Image-Änderungen etc. zu ziehen.

Hat jemand irgendwelche Ideen darüber, was ich tun kann, um Multi-Branch-Projekte zur Planung von Tag-Builds zu bekommen?

Antwort

0

Das automatische Auslösen eines Builds für entdeckte Tags scheint laut Entwurf JENKINS-47496 zu sein. Stephen Connolly bietet eine Erklärung und Anregung für das, was Sie tun könnten:

Stephen Connolly einen Kommentar hinzugefügt - vor 6 Tagen

Stichworte sind standardmäßig nicht gebaut (weil sonst könnte man einen Build Sturm haben beim Auschecken ein Repository) und schlimmer noch, die eingebauten Tags sind unberechenbar ... und Sie könnten eine Jenkins-Datei haben, die sich in die Produktion einfügt, wenn ein Tag erstellt wird.

Es gibt einen Erweiterungspunkt in branch-api namens BranchBuildStrategy, der - falls implementiert - die Entscheidung ermöglicht, ob Tags erstellt werden sollen.

Siehe https://github.com/jenkinsci/github-branch-source-plugin/pull/158#issuecomment-332773194 für Ausgangspunkt auf, wie eine solche Verlängerung Plugin zu schaffen ... Ich glaube, dass einige Arbeit auf der einen gibt es bei https://github.com/AngryBytes/jenkins-build-everything-strategy-plugin

+0

Dank Tommy! Das AngryBytes-Repo war genug für mich, um es in die Jenkins-Dockerfile zu integrieren, die ich verwende, und ich bin jetzt erfolgreich, Tag-Builds aus der Repo-Indizierung auszulösen. Vielen Dank! – ABitMoreDepth

+0

Hallo @ABitMoreDepth, können Sie mir sagen, wie Sie das Plugin aus dem Repo oben installieren? Ich konnte das Plugin in Jenkins Plugins nicht sehen. –

+0

Ok. Also habe ich das Repo geklont und könnte das Plugin erstellen und es zu Jenkins installieren. Danke trotzdem! –

Verwandte Themen