Kann ich den status eines vorherigen Stufe zu bauen, die in Jenkins pipeline?

Habe ich einen Jenkins-job, nutzt die pipeline-mechanik. Es hat mehrere Schritte. Zum Verständnis nehmen wir an ich habe 3 Stufen. die ersten 2 laufen parallel, die 3. nach Ihnen. Nun, je nach dem Ergebnis der letzten build von Phase 3, die ich tun will andere Sache.
Wenn die Stufe 3 war bisher erfolgreich, ich möchte das Ergebnis aus Stufe 1, sonst zu stage 2 führen.
Ist das möglich dies zu überprüfen? Ich weiss nicht, wie das abrufen des letzten Ergebnisses einer Phase, habe nur eine ähnliche Sache, für den letzten Zustand, der einen job.

  • Können Sie näher erläutern, was du meinst mit der "pipeline-mechanik"? Welches plugin benutzt du? workflow? MultiJob? oder nur auslösen downstream-jobs?
  • Schwer zu sagen für mich, da ich keinen Zugriff auf plugin-Einstellungen. Wenn ich einen neuen Auftrag erstellen, es sagt: "Pipeline Sorgt für lang andauernde Aktivitäten, die sich über mehrere build-slaves. Geeignet für den Bau von pipelines (früher bekannt als workflows) und/oder organisieren von komplexen Tätigkeiten, die nicht leicht passen in free-style-job geben." ... Ich dachte, das war nun integriert, Jenkins w/o plugin.
  • So müssen Sie erscheinen mit wiki.jenkins-ci.org/display/JENKINS/Pipeline+ - Plugin - die Seite zu verlinken, jenkins.io/Lösungen/pipeline, vielleicht haben links, die Ihnen helfen mit Ihrem Problem.
  • Ich habe ziemlich dasselbe Problem. So weit habe ich es nicht geschafft Zugriff Bühne direkt, aber guter Einstieg ist currentBuild.rawBuild Globale variable, die verfügbar ist in Ihrer pipeline. Es gibt Sie einen Run Objekt, beschrieben hier. Sie können dann rufen Sie smth like currentBuild.rawBuild.getPreviousSuccessfulBuild() und Graben in die jenkins-API, um irgendwie abrufen Bühne Ergebnisse. Bitte stellen Sie auch sicher, daß ein Zugriff auf rawBuild ist erlaubt in deinem Jenkins groovy sandbox.
  • Da sind Stufen, keine Arbeitsplätze - Sie sollten in der Lage sein, nur eine boolean-flags, die verfügbar ist auf allen Stufen. Von deiner Beschreibung her, scheint es doch nur einen Jenkinsfile/Pipeline mit ein paar Stufen drin. Könnten Sie bitte etwas code?
  • Ein weiterer workaround wäre die Nutzung von das plugin
  • Wow, eigentlich war es so leicht wie zu verwenden einige Globale Variablen, die überall verfügbar sind...jetzt fühle ich mich dumm, nicht zu versuchen es 😀
  • Passiert mir viel zu oft 😉

InformationsquelleAutor Matthias | 2016-04-04
Schreibe einen Kommentar