Kontroler : un outil d'orchestration de flux de travail d'auto-test
Mon dernier projet, Kontroler, est un outil d'orchestration de flux de travail avec une touche unique : l'auto-test. Il orchestre non seulement les flux de travail, mais utilise également ses propres capacités pour tester ses fonctionnalités, un processus connu sous le nom de « dogfooding ». Cet auto-test continu garantit que l'outil fonctionne de manière fiable tout en s'améliorant.
Pourquoi l'autotest ?
Ma passion pour l'automatisation anime mon envie de créer des outils efficaces et fiables. Kontroler n'est pas simplement un autre exécuteur de flux de travail ; il est conçu pour prouver sa propre fonctionnalité sans outils de test externes. Ce test de résistance intégré fournit une base solide, et observer le contrôle qualité auto-imposé est à la fois pratique et gratifiant.
Comment Kontroler se teste
La réalisation des autotests nécessitait la création de composants supplémentaires :
Un nouveau répertoire .kontrolerci
a été ajouté au référentiel. Ce répertoire héberge les fichiers YAML définissant le pipeline DAG/CI. Un exemple simple de constructeur Go :
<code>build-server: image: golang:1.23.5-bullseye script: | echo "Navigating to server directory" cd server go mod tidy echo "Building server application" go build -o main cmd/main.go</code>
La structure complète des répertoires est disponible sur GitHub : https://www.php.cn/link/6968240043185f65f22097299b865f6b
Que teste-t-il ?
Les tests du pipeline en cours :
Ces tests renforcent la confiance dans le système, et l'exécution réussie du pipeline CI fournit une vérification de bout en bout de l'allocation des tâches de Kontroler et de la génération de webhooks.
L'interface utilisateur de GitHub affiche les résultats :
Les récompenses (et les défis) du Dogfooding
La première exécution réussie du pipeline a été incroyablement satisfaisante : voir ces coches vertes a dépassé mes attentes. Kontroler était vraiment utilisé, ne serait-ce que par moi.
Cependant, l’autotest n’était pas sans défis. Les problèmes de débogage tels que les échecs d’authentification des clients et les erreurs liées aux fichiers temporaires se sont avérés chronophages. Mais ce processus de dogfooding a révélé et m'a permis de corriger des défauts cruciaux.
Projets futurs pour Kontroler
Dogfooding a identifié plusieurs axes d'amélioration :
Nous continuerons à utiliser Dogfood Kontroler pour affiner et produire davantage l'outil.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!