Gibt es eine Möglichkeit, die Jenkins-Datei über die Befehlszeile auszuführen?

8

Ich möchte nicht die Jenkins-Benutzeroberfläche verwenden, sondern die Befehlszeile verwenden. Von der Befehlszeile aus möchte ich Jenkinsfile auf dem Jenkins-Server ausführen.

Ist das möglich?

Angenommen, ich habe eine Jenkins-Datei. Wenn ich die Jenkins-Datei ausführe, sollte die Jenkins-Datei vom Jenkins-Server ausgeführt werden. Angenommen, der Job wurde noch nicht über die Jenkins-Benutzeroberfläche konfiguriert.

Buvanesh Kumar
quelle
2
Wie wäre es, die Jenkins-API mit dem Jenkins-Cli aufzurufen?
030
Warum brauchst du das? Warum funktioniert die Benutzeroberfläche bei Ihnen nicht?
030
@ 030 Ich bin kein Fan von GUI :)
Buvanesh Kumar
Interessant. Jenkins selbst ist eine Benutzeroberfläche, aber wenn Sie Benutzeroberflächen wirklich nicht mögen, können Sie die Jenkins-CLI verwenden.
030
1
Ich interessiere mich für Testzwecke und Kreuzkompatibilität. Ich möchte in der Lage sein, automatische Builds basierend auf regulären Multibranch- / Jenkins-Dateien sowie parametrisierten GUI-Jobs zu haben, wenn wir eine manuelle Optimierung sowie lokale CLI-Terminalskripte benötigen, damit Entwickler ihren Teil überprüfen können.
AnneTheAgile

Antworten:

2

Ich nehme an, Sie möchten lokal ausgeführt werden, um die Logik zu testen. In diesem Fall gibt es ein Unit-Test-Framework für die deklarative / Skript-Pipeline von Jenkins. Ich habe es nicht persönlich verwendet, aber dies würde es mir ermöglichen, die Stub-Logik lokal zu testen.

Da Sie kein Fan von GUIs sind, können Sie sich auch Jenkins X ansehen, das über eine sehr leistungsstarke CLI verfügt und mehr von Gitops gesteuert wird.

Robert Northard
quelle
1

Ich habe das schon mal gemacht. Im Wesentlichen können Sie die Jenkins-CLI zum Importieren / Exportieren von Jobs verwenden, mit denen Sie einen Job mit der Definition erstellen und / oder aktualisieren können, die Sie ausführen möchten. Sei es JenkinsFile oder ein grooviges Skript oder was auch immer. Überprüfen Sie diesen Blog für Details.

Sobald Sie den Job (neu) definiert haben, führen Sie ihn einfach remote mit derselben Jenkins-CLI aus. Sie können den Fortschritt des Jobs über die CLI überprüfen und sogar die Protokolle lesen, um den Fortschritt anzuzeigen. Ich kann den Code nicht weitergeben, da das Urheberrecht einem meiner früheren Arbeitgeber gehört, aber es ist einfach, ihn neu zu erstellen.

Jiri Klouda
quelle