Wie weiß ich, dass die build-Nummer für das aktuelle Projekt in Jenkins?

Ich bin mir bewusst, das BUILD_NUMBER - Umgebungsvariable; jedoch, wenn ich mich nicht Irre, ist dies ein globalen variable, die zu sein scheint, die gemeinsam von allen Projekten. Dies ist ein problem, da, wenn ich zwei Agenten ausführen von jobs, ein Skript kann versuchen, das aktuelle Projekt die build-Nummer nach der anderen Skript aktualisiert hat, die es für ein anderes Projekt.

Hier ist ein Beispiel-Szenario:

  • Job J1 beginnt, die Ausführung der script - S. BUILD_NUMBER ist derzeit, sagen wir mal, 500.
  • Jemand manuell startet job J2, die setzt jetzt BUILD_NUMBER etwas ganz anderes, sagen wir, 750.
  • Skript S, das noch läuft, erreicht jetzt den Punkt, wo es tatsächlich verwendet BUILD_NUMBER nun 750 (ein unmöglicher Wert für die job - J1, die nur bis zu 500).

Bin ich richtig in diesem Verständnis? Wenn ja, wie behebe ich dieses problem?

  • Ich bin ziemlich sicher, dein Verständnis ist falsch. Warum gehst du nicht einfach zwei jobs, die sagen, schläft für eine Weile, und dann druckt die BUILD_NUMBER, nur für sich selbst zu sehen?
  • Leow: Aber das ist genau das, was ich getan habe! Es ist sehr merkwürdig. Ich denke, ich werde versuchen eine andere Erklärung.
InformationsquelleAutor Dan Tao | 2011-08-19
Schreibe einen Kommentar