Jenkinsfile Schlaf

Jenkinsfile Schlaf

Wenn Sie mit Jenkins Pipelines arbeiten, werden Sie auf Fälle stoßen, in denen Sie die Ausführung eines bestimmten Builds für eine bestimmte Dauer pausieren müssen.

Es gibt verschiedene Gründe, warum Sie einen Jenkins -Job innehalten müssen: Sie können einen Jenkins -Job innehalten, um auf externe Abhängigkeiten zu warten. Wenn Ihr Build beispielsweise von externen Ressourcen oder Prozessen abhängt, die noch nicht verfügbar sind, müssen Sie möglicherweise innehalten, bis die erforderlichen Abhängigkeiten fertig sind.

Ein weiterer Grund ist die Ressourcenverteilung. Wenn Sie über nur begrenzte Ressourcen zur Verfügung haben, z. B. Build -Agenten oder Testumgebungen, müssen Sie möglicherweise Builds innehalten, um sicherzustellen, dass diese Ressourcen effizient genutzt werden.

In diesem Tutorial lernen wir, wie Sie die Schlaffunktion in JenkinsFile verwenden, damit eine Jenkins -Pipeline für eine bestimmte Dauer innehalten kann.

Jenkinsfile Schlaf

In einer Jenkins -Datei können wir einen Schlafblock vorstellen, der die Schlafinformationen für einen bestimmten Build angibt. Dieser Block ermöglicht es uns, die Dauer und die Einheit zu definieren, die ein bestimmter Job schlafen wird. Es wird in der Regel verwendet, um eine Verzögerung des Build -Prozesses aus einem der oben genannten Gründe einzuführen, z.

Die Syntax des Schlafblocks in Jenkins ist wie gezeigt:

Schlaf (Zeit: int, Einheit: str)

Mit dem Zeitabschnitt können Sie die Zeitdauer angeben, für die der Build schläft. Dies ist ein nicht optionaler Ganzzahlwert.

Andererseits gibt der Einheitsabschnitt den Zeitparameter für den Build an. Zu den anerkannten Werten gehören Nanosekunden, Mikrosekunde, Millisekunden, Sekunden, Minuten, Stunden und Tage.

Dies ist ein optionaler Parameter, und Jenkins ist standardmäßig Sekunden, wenn sie nicht angegeben sind.

Beispiel Verwendung

Das Folgende zeigt ein einfaches Beispiel für JenkinsFile:

Pipeline
Agent jeder
Stufen
Stage ('Start')
Schritte
Sh 'Datum +%s'


Stage ('pausieren')
Schritte
Schlaf (Zeit: 2, Einheit: 'Minuten')


Stage ('End')
Schritte
Sh "Datum +%s"



Die obige Pipeline sollte den Build für 2 Minuten innehalten.

Sobald Sie den oben genannten Build ausgeführt haben, sollten Sie die Ausgabe wie gezeigt erhalten:

[Pipeline] Start der Pipeline
[Pipeline] Knoten
Auf 172 laufen.27.247.69 in/home/debian/Jenkins/Arbeitsbereich/SLEPP_DEMO
[Pipeline]
[Pipeline] Stadium
[Pipeline] (Start)
[Pipeline] sh
+ Datum +%s
1672556534
[Pipeline]
[Pipeline] // Stage
[Pipeline] Stadium
[Pipeline] (pausieren)
[Pipeline] Schlaf
2 min 0 Sek. Schlafen
[Pipeline]
[Pipeline] // Stage
[Pipeline] Stadium
[Pipeline] (Ende)
[Pipeline] sh
+ Datum +%s
1672556654
[Pipeline] // Stage
[Pipeline] Ende der Pipeline
Fertig: Erfolg

Jenkins pausieren in UNIX -Systemen

Wenn Sie nicht Jenkins Sleep Block verwenden möchten, können Sie einen Job für eine bestimmte Dauer mit dem Sleep -Befehl in Unix -Systemen innehalten.

Die Syntax ist wie gezeigt:

Schlafdauer

Wenn die Dauer die Anzahl der Sekunden bezeichnet, die das Skript innehalt.

In einer Jenkins -Datei können Sie den Sleep -Befehl mit dem SH -Befehl aufrufen:

Sh 'Schlaf'

Abschluss

In diesem Artikel haben Sie gelernt, wie man den Schlafblock in einer Jenkinsfile benutzt, um die Ausführung eines bestimmten Builds für eine bestimmte Dauer zu pausieren. Der Block ermöglicht es uns, das Zeitintervall und die Zeiteinheit zu definieren.