25768 shaares
L’article détaille la mise en place d’un pipeline GitLab CI pour un projet Symfony, avec les étapes clés suivantes :
-
Automatisation des tests (unitaires, fonctionnels) à chaque Merge Request ou push, en utilisant SQLite pour les tests (plus léger que PostgreSQL).
-
Configuration du fichier
.gitlab-ci.yml
:- Définition des stages (
build
,test
). - Utilisation d’images Docker (PHP 8.3, Node 21.7) pour exécuter les jobs.
- Installation des dépendances (Composer, npm) et exécution des tests via PHPUnit.
- Gestion des fixtures et du schéma de base de données en environnement de test.
- Build des assets front-end (Webpack Encore) avec partage des artefacts entre jobs.
- Définition des stages (
-
Blocage des merges si les tests échouent, via l’option "Pipelines must succeed" dans les paramètres de GitLab.
-
Bonus : Pistes pour aller plus loin (analyse statique avec phpstan, audit de sécurité, déploiement automatique).