wake-up-neo.com

Jenkins, wie man einen manuellen Pipelineschritt erstellt

Vor Jenkins2 habe ich Build Pipeline Plugin verwendet, um eine Anwendung zu erstellen und manuell auf dem Server bereitzustellen. Alte Konfiguration: jenkins-pipeline-plugin

Das funktioniert prima, aber ich möchte eine neue Jenkins-Pipeline verwenden, die aus einem groovigen Skript (Jenkinsfile) generiert wurde, um einen manuellen Schritt zu erstellen.

Bisher habe ich mir input jenkins step ausgedacht.

Verwendetes Jenkinsfile-Skript:

node {
   stage 'Checkout'
   // Get some code from repository

   stage 'Build'
   // Run the build
}

stage 'deployment'
input 'Do you approve deployment?'
node {
    //deploy things
}

Dies wartet jedoch auf Benutzereingaben und stellt fest, dass die Erstellung nicht abgeschlossen ist. Ich könnte input eine Zeitüberschreitung hinzufügen, aber dies erlaubt mir nicht, einen Build auszuwählen/auszulösen und ihn später bereitzustellen:

jenkins-pipeline

Wie kann ich mit einer neuen Jenkins-Pipeline dasselbe/ähnliche Ergebnis für einen manuellen Schritt/Trigger erzielen wie zuvor mit dem Build Pipeline Plugin?

51
Zigac

Dies ist eine große Lücke in der IMO für die Jenkins-Pipeline. Auf jeden Fall schwer zu beschaffen, da eine Pipeline nur ein Job ist. Eine Lösung könnte darin bestehen, den Arbeitsbereich als "Artefakt" (tar und archive **/* als "workspace.tar.gz") zu "archivieren" und dann das Artefakt von einer anderen Pipeline kopieren und in den neuen Arbeitsbereich entpacken zu lassen. Dadurch kann die zweite Pipeline dort weitermachen, wo die vorherige aufgehört hat. Natürlich gibt es keine Möglichkeit zu garantieren, dass die zweite Pipeline nicht mehr als einmal ausgeführt werden kann. Welches ist schade. Das Delivery Pipeline Plugin strahlt hier wirklich. Sie führen eine neue Pipeline direkt aus der Ansicht aus - anstelle des ersten Jobs. Wie auch immer - keine gute Antwort - aber es ist der Weg, den ich versuchen werde.

EDIT: Dieses Plugin sieht vielversprechend aus:

https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md

26
Michael Andrews