Test des travaux et des pipelines Jenkins


10

Actuellement, nous avons un bon nombre d'emplois et de pipelines Jenkins pour les builds, les tests, les déploiements et d'autres activités automatisées.

Chaque fois que nous modifions ou ajoutons un nouveau travail, nous le testons uniquement manuellement - par exemple, en parcourant le «chemin heureux» (lorsque le travail est effectué sans erreur), en testant quelques cas de test négatifs en cas d'échec d'un travail ou d'un pipeline - vérification de la code d'erreur et notifications.

Il est clair que cette approche n'est pas fiable et n'évolue pas bien. Comment pouvons-nous améliorer ce processus? Existe-t-il une place pour l'automatisation des tests lorsqu'il s'agit de vérifier le fonctionnement des travaux et des pipelines Jenkins?


5
bienvenue aux devops de haut niveau - qui teste le test? Je pense que vous pourriez commencer avec un environnement sandbox pour répliquer les paramètres généraux du système et le faire évoluer pour terminer la configuration en tant qu'approche de code; cela inclut les configurations de travaux gérées par code.
Peter Muryshkin

Réponses:


10

Je poste ceci ici non pas parce que j'approuve ces solutions (en fait, je ne les ai jamais essayées), mais simplement parce qu'elles sont une réponse potentielle à votre question:

Vous pouvez commencer avec JenkinsPipelineUnit , un framework de tests unitaires pour les scripts Pipeline.

Il existe également un projet appelé jenkinsfile-runner qui exécute votre fichier Jenkins dans une instance Jenkins transitoire et sans tête. Soi-disant, cela peut être utilisé pour les tests d'intégration Jenkinsfiles et les bibliothèques partagées Pipeline. Cependant, depuis l'été 2018, il n'y a pas de documentation sur la façon d'utiliser cet outil pour les tests d'intégration, et je n'ai pas pu trouver d'exemples de personnes utilisant cet outil "dans la nature".

Voir aussi le rapport de bogue connexe sur Jenkins JIRA: "Test framework for Jenkinsfile" .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.