Derzeit haben wir eine ganze Reihe von Jenkins-Jobs und -Pipelines für Builds, Tests, Bereitstellungen und andere automatisierte Aktivitäten.
Jedes Mal, wenn wir einen neuen Job ändern oder hinzufügen, testen wir ihn nur manuell - z. B. indem wir den "glücklichen Pfad" durchlaufen (wenn der Job fehlerfrei ausgeführt wird) und einige negative Testfälle testen, wenn ein Job oder eine Pipeline fehlschlägt Fehlercode und Benachrichtigungen.
Dieser Ansatz ist eindeutig nicht zuverlässig und lässt sich nicht gut skalieren. Wie können wir diesen Prozess verbessern? Gibt es einen Ort für Testautomatisierung, wenn es darum geht, die Funktionsweise von Jenkins-Jobs und -Pipelines zu überprüfen?
jenkins
testing
automation
Alecxe
quelle
quelle
Antworten:
Ich poste dies hier nicht, weil ich diese Lösungen unterstütze (tatsächlich habe ich sie nie ausprobiert), sondern nur, weil sie eine mögliche Antwort auf Ihre Frage sind:
Sie können mit JenkinsPipelineUnit beginnen , einem Unit-Test-Framework für Pipeline-Skripte.
Es gibt auch ein Projekt namens Jenkinsfile-Runner, das Ihre Jenkins-Datei in einer vorübergehenden, kopflosen Jenkins-Instanz ausführt. Angeblich kann dies zum Integrationstest von Jenkinsfiles und Pipeline Shared Libraries verwendet werden. Ab Sommer 2018 gibt es jedoch keine Dokumentation zur Verwendung dieses Tools für Integrationstests, und ich konnte keine Beispiele für Personen finden, die dieses Tool "in the wild" verwenden.
Siehe auch den zugehörigen Fehlerbericht zu Jenkins JIRA: "Testframework für Jenkinsfile" .
quelle