2016-08-26 3 views
9

Ich habe eine Pipeline, die mein Team verwendet, um Cloud-VMs hochzufahren und einen Software-Stack für sie bereitzustellen. Ein Teil dieses Prozesses besteht darin, die Artefakte aus den ausgewählten Builds zu bündeln. Momentan erfasse ich nur den letzten Erfolg der aufgelisteten Jobs, aber es gab Probleme, dass der Job in einem anderen Prozess erneut erstellt wurde, bevor die Pipeline ihr Bundle erstellen konnte, wodurch das Bundle ein Artefakt mit den falschen Abhängigkeiten ergriff.Jenkins groovy pipeline - Abrufen der Build-Nummer des erstellten Jobs

Gibt es eine Möglichkeit, meine einfache Build-Job-Methode zu ändern, um die tatsächliche Build-Nummer auszulösen, die ausgelöst wurde? Die Pipeline-Konsole druckt, welche Build-Nummer erstellt wird, bin mir nicht sicher, wie ich sie in meinem groovigen Code bekommen soll.

Antwort

13

Das war eigentlich eine Art Klacks. wenn ich gesetzt gerade build job: jobName auf eine Variable, die Variable ist ein RunWrapper

https://github.com/jenkinsci/pipeline-plugin/blob/d3f66c6f04d1d979957f02819b19291e2c35e276/support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.java

RunWrapper als .getNumber(), das funktioniert perfekt

def testing = build job: "tms-auto-build" 
println testing.getNumber() 
+0

Ich habe versucht, diese und funktionierte gut für die erfolgreiche baut, funktioniert aber nicht, wenn ein Build-Job fehlgeschlagen ist. Ich habe meine detaillierte Frage hier gepostet: http://stackoverflow.com/questions/43689169/jenkins-pipeline-catch-build-job-info-for-a-failed-parallel-build – ManyuBishnoi

Verwandte Themen