2013-04-17 10 views
10

Die MultiJob plugin ist großartig und ich möchte sie für meinen Build-Prozess verwenden, aber es gibt ein Problem, das ich vorher lösen muss: Es gibt drei Jobs A, B und C. SVN löst Job A und B (parallele Ausführung) und Job aus C startet, wenn A und B beendet sind. Job C benötigt die Artefakte von Job A und B als Eingabe.Wie übergibt man eine Build-Nummer innerhalb des MultiJob-Plugins?

  -> Job A (with A.zip) 
Trigger       -> Job C (use artifacts A.zip and B.zip) 
      -> Job B (with B.zip) 

den Workflow zu entwerfen mit den MultiJob plugin ist einfach, aber ich habe keine Ahnung, wie die entsprechenden Artefakte aus Job A und B in Job C erhalten Kann ich die Build-Nummern zu Job C (buildNr (A passieren)! = bauenNr (B))? Oder gibt es einen klügeren Weg, das Problem zu lösen?

Antwort

8

Das multijob- Plugin setzt die folgenden Umgebungsvariablen pro Job (code):

  • <JOBNAME>_BUILD_NUMBER
  • <JOBNAME>_BUILD_RESULT

Wo JOBNAME c Wird durch den Namen des Jobs ersetzt, wobei alle Nicht-Zeichen und -Nummern durch _ ersetzt werden. So können Sie die Build-Nummern als Parameter an Job C passieren:

configuration of job C with Jenkins MultiJob plugin

1

Es gibt eine Abhilfe mit EnvInject und groovigem Skript: https://issues.jenkins-ci.org/browse/JENKINS-20241

+0

Große zu sehen, dass es mehr als einen Weg, um dieses Problem zu lösen! Ich habe stattdessen eine modifizierte Version des Copyartifacts-Plugins verwendet (siehe meine Antwort). –