Jenkins IDE
Einer der groĂen Nachteile von Jenkins ist die lange Feedback-Schleife. Es gibt keine IDE, die typische Features wie Auto-Completion, Browsing, Refactoring, Debugging, ... mitbringt. Im worst-case muĂ man eine Shared-Installation (auf der noch andere arbeiten) verwenden, um per Commit-Push die Pipelines zu aktualisieren, manuell starten und dann die kryptischen Stacktraces analysieren - das ist der blanke Horror.
MUST-HAVE - lokale Installation
Eine lokale Jenkins Installation hat meine Developer Experience auf jeden fall schon mal verbessert - im Vergleich zu einem Shared-Jenkins-Installation. Hier kann ich tun und lassen was ich will (z. B. Plugins installieren/upgraden, Konfiguration ändern), ohne Impediments fßr andere zu erzeugen (z. B. die gesamte Entwicklungsabteilung lahmlegen).
Doch leider muĂ ich immer noch immer committen, pushen und dann den Jenkins Job triggern. Um dann festzustellen, daĂ die Syntax im Jenkinsfile
oder einer Shared-Library nicht stimmt. Das ist nicht besonders effizient :-(
Hilfe bei der Erstellung von Pipeline-Code
Code-Generatoren in der Jenkins UI
Jenkins bietet auf einem gestarteten Jenkins Server ... leider nur Tooling fĂźr Declarative Pipelines
dieses Tool steht Ăźber die URL zur VerfĂźgung, ist aber auch in den Pipeline-Editor in der Web-UI integriert:
Blue Ocean Pipeline Editor unterstĂźtzt die Editierung von Jenkins Pipelines.
Auto-Vervollständigung IntelliJ
Jenkins stellt eine Groovy DSL Datei (GDSL) bereit, die man jobspezifisch Ăźber die URL
https://<JENKINS_HOST>/job//pipeline-syntax/gdsl
erstellen lassen kann und dann in sein IntelliJ integriert.
Pipeline Linter in Visual Studio Code
Visual Studio Code stellt das Plugin Jenkins Pipeline Linter Connector bereit, das allerdings nur deklarative Pipelins unterstĂźtzt. Es wird folgendermaĂen gegen einen laufenden Jenkins konfiguriert:
"jenkins.pipeline.linter.connector.url": "http://localhost:8080/pipeline-model-converter/validate",
"jenkins.pipeline.linter.connector.user": "pfh",
"jenkins.pipeline.linter.connector.pass": "112a010e3c1408a97e38fb5d50fd79d0bf"
JUnit Tests
Pipeline Unit Testing Framework
das sollte man auf jeden Fall verwenden, um die Build-Infrastruktur zu testen!!!
Fazit
"I hate to be the bearer of bad news, but the documentation is lacking (and often unspecific as to whether or not its examples are for scripted or declarative pipelines), the book barely grazes the subject (if youâve found one that has better information please share), and piecing together bits of other peoplesâ Github examples and Stack Overflow answers is nothing short of a painful slog. Even then, youâre just as likely (if not more!) to find declarative pipeline examples which, of course, have different syntax and abilities." (Hacky Hackerâs Guide To Hacking Together Jenkins Scripted Pipelines and Getting Them To Do Things)
Last updated
Was this helpful?