Verwenden Sie Stash in Jenkins

Verwenden Sie Stash in Jenkins

In diesem Tutorial erfahren wir, wie wir die Jenkins Stash -Schritte in einer Pipeline verwenden können, um Dateien von einem Jenkins -Controller zu einem anderen Host zu kopieren oder zu verschieben.

Bei der Arbeit in Jenkins können Sie auf ein Szenario stoßen, in dem ein Job bestimmte Dateien und Verzeichnisse erstellt. Da die erzeugten Dateien und sich auf dem Agenten, auf dem der Job ausgeführt wurde, befindet.

Was ist der Vorrat in Jenkins?

Mit dem Stash -Schritt in Jenkins können wir Dateien und Verzeichnisse für die verspätete Verwendung auf jedem Knoten oder Arbeitsbereich speichern, der mit dem Controller verbunden ist. Standardmäßig verwerfen Jenkins die versteckten Dateien, sobald die Pipeline abgeschlossen ist.

Es ist gut zu beachten. Wenn Sie Dateien zwischen Jobs oder Pipelines übertragen möchten, verwenden Sie stattdessen das Archiveartifacts -Modul.

Eine andere Sache, die Sie an den Stash -Schritt in Jenkins beachten sollten, ist, dass es für kleine Dateien am besten reserviert ist. Dies liegt daran. Für große Dateien erwägen Sie ein externes Plugin für das Arbeitsbereich Manager zu verwenden.

Jenkins Stash -Syntax

Das Folgende zeigt die Syntax des Jenkins -Stash -Schritts. Der Schritt akzeptiert die folgenden Parameter:

  1. Name: Zeichenfolge - Dies ist ein String -Typ, der den Namen des Vorgängers definiert. Dies sollte eine einfache Kennung sein, die den Zieljob verweist, obwohl nicht erforderlich ist.
  2. Zulassung: Boolean - Die Zulassung ist eine boolesche Option, die definiert, ob der Vorrat erstellt werden soll, auch wenn keine Dateien verfügbar sind. Standardmäßig ist diese Option auf False festgelegt und Jenkins gibt einen Fehler zurück, wenn keine Dateien für den Stashing verfügbar sind.
  3. Ausschließen: String - Mit diesem optionalen Parameter können Sie den Satz von Dateien und Verzeichnissen definieren, die Sie aus dem Vorrat ausschließen möchten. Verwenden Sie eine von Kommas getrennte Liste, um die Dateien anzugeben, die Sie ausschließen möchten. Um ein Muster auszuwählen, verwenden Sie die Ameisenmusterliste.
  4. Beinhaltet: String - Ähnlich wie das Ausschlussmuster, definiert jedoch die Dateien, die in den Vorrat aufgenommen werden sollen.
  5. UsedefaultExcludes: Boolean - Mit diesem booleschen Parameter können Sie die Standardausschließen von ANT verwenden. Standardmäßig wird der Wert auf true gesetzt.

Beispieldemonstration

Wir werden einen Jenkins -Controller verwenden, der mit Debian 11 und Debian 10 Agents verbunden ist, um zu demonstrieren, wie wir den Stash -Schritt in Jenkins verwenden können.

Wir werden dann wie unten gezeigt eine JenkinsFile verwenden:

Pipeline
Agent keine
Stufen
Stage ('Start')
Agent Label 'Debian11'
Schritte
Sch "'
Probe berühren.Sch
Mkdir -p Dir
Berühren Sie Dir/sample_nested.Sch
Berühren Sie Dir/sample_nested2.Sch
'"
Stash (Name: 'Samplestash')


Stage ('Dateien überprüfen')
Agent Label 'Debian10'
Schritte
"Sampleestash" abbauen '
Sh 'Baum'



Die obige Beispielpipeline beginnt mit dem Erstellen von Beispieldateien für Demonstrationszwecke. Wir verwenden dann den Stash -Schritt, um einen Samprobium mit allen generierten Dateien zu erstellen. Schließlich lösten wir die Dateien auf dem Zielagenten mithilfe des Stash -Schritts ab.

Sobald wir die Pipeline ausgeführt haben, sollten wir wie gezeigt eine Ausgabe erhalten:

Aus der obigen Ausgabe sehen wir, dass die Dateien auf dem Debian11 -Knoten versteckt und nicht beeindruckt wurden und auf dem Debian 10 -Knoten nicht gestützt wurden.

Abschluss

In diesem Artikel haben Sie die Grundlagen der Arbeit mit Stash- und Unstash -Schritten in Jenkins gelernt.