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.
jenkins-pipeline
jenkins-plugins
jenkinsfile
jenkins2
Buvanesh Kumar
quelle
quelle
Antworten:
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.
quelle
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.
quelle