Jenkins 2 hat Pipelines und einen erstklassigen Bürger. In den Beispielen scheinen die Aufgaben jedoch als einzelne Sequenz ausgeführt zu werden:
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git url: '[email protected]:elifesciences/elife-bot.git'
// Mark the code build 'stage'....
stage 'Build'
echo "Unit tests will run here"
stage "Production"
echo "Deploying to production environment"
}
Für die Bereitstellung im Produktionssystem ist es oft nützlich, eine manuelle Genehmigung zu verlangen. Gibt es eine Möglichkeit, eine manuelle Schaltfläche zum Drücken in eine Pipeline einzufügen?
Ich habe nach möglichen Schritten gesucht, um dies in den Dokumenten zu erreichen , ohne Erfolg.
input
Schritt in der Pipeline, der anhält und den Benutzer zur Eingabe auffordert (oder den Build abbricht). Die Bühne und die Statusanzeige blinken jedoch weiter, während ich einen stabilen Zustand haben wollte (z. B. Sie steigen in den Freitagnachmittag ein und beschließen, ihn am Montag einzusetzen.)Antworten:
Die Eingabe ist die Option, nach der Sie suchen. So benutze ich es. Es ist wichtig, den Schritt außerhalb eines Knotens zu haben, sonst lässt Jenkins einen Agenten auf den nächsten Schritt warten. Beachten Sie, dass der zweite Knoten möglicherweise nicht denselben Arbeitsbereich wie der erste verwendet.
quelle
Am Ende habe ich separate
test-project
undprod-project
Pipelines erstellt, bei denen am Endetest-project
der Code zu einerapproved
Verzweigung zusammengeführt wird.Anschließend kann die
prod-project
Pipeline so eingerichtet werden, dass sie nicht bei jedem neuen Commit ausgelöst wird, sodass sie bei Bedarf bereitgestellt werden kann.quelle
Darüber hinaus können Sie auch eine automatische Zeitüberschreitung wie unten hinzufügen
Wenn Sie nachschlagen, können Sie die Jenkins-Eingaben auch an Anmeldeinformationen von Benutzern binden, die auf Jenkins zugreifen, wenn Sie nur bestimmten Personen die Möglichkeit zur Beantwortung gewähren möchten. Dies wird auch durch die Tatsache untermauert, dass auch Ihre Git-Steuerelemente ausreichen.
quelle
Dies ist nur ein einfaches Beispiel, aber Sie können es nach Bedarf auslösen.
quelle
Ich habe, wie unten gezeigt, die folgenden Dokumente gelesen: https://jenkins.io/doc/book/pipeline/syntax/
quelle