TECHNOLOGIES
GitLab CI/CD, notre plateforme de développement
GitLab est notre plateforme centrale pour le versionning, la revue de code et le déploiement continu. Les pipelines CI/CD automatisent l'exécution des tests, l'analyse statique et le déploiement sur Clever Cloud à chaque push sur main.
Cette fiche documente notre structure de pipeline, nos conventions de branches et notre workflow Merge Request.
POURQUOI GITLAB
Ce qui en fait notre plateforme de référence
GitLab couvre l'intégralité du cycle de développement dans un seul outil. Voici les fonctionnalités que nous utilisons sur chaque projet.
Pipelines CI/CD intégrés
GitLab CI/CD est natif à la plateforme : pas d'outil tiers à configurer. Chaque push déclenche automatiquement les jobs définis dans .gitlab-ci.yml — tests, analyse statique, build et déploiement.
Merge Requests et revue de code
Les MR centralisent la discussion technique : commentaires inline sur le diff, threads de revue, approbations requises et statut des pipelines directement dans l'interface avant tout merge.
Qualité bloquante avant merge
Les pipelines peuvent bloquer une MR si un job échoue — tests PHPUnit, PHPStan, Rector ou lint CSS. La qualité est une contrainte structurelle, pas une intention.
Déploiement continu vers Clever Cloud
Un push sur la branche main déclenche automatiquement le déploiement sur Clever Cloud via le remote Git dédié. Zéro intervention manuelle en production.
Rapports de tests et coverage
Les artefacts JUnit (PHPUnit) et Cobertura (coverage) sont transmis à GitLab pour afficher les résultats par test et la diff de couverture ligne par ligne dans chaque MR.
Gestion des secrets via CI/CD Variables
Les credentials (DSN Sentry, clés API, mots de passe base de données) sont stockés dans les variables CI/CD de GitLab — jamais dans le dépôt — et injectés à l'exécution des jobs.
NOTRE USAGE
Comment nous utilisons GitLab chez SmartBooster
Notre workflow s'articule autour de quatre pratiques que nous appliquons sur tous les projets, quelle que soit leur taille.
Pipeline en 3 stages : test → build → deploy
Nos pipelines suivent une structure fixe : test (PHPUnit, PHPStan, Rector), build (assets, optimisations), deploy (push vers Clever Cloud).
Convention de branches
main est toujours déployable. Les fonctionnalités passent par des branches courtes (feature/, fix/) mergées via MR après approbation et pipeline vert.
Revue de code obligatoire
Toute MR vers main nécessite au moins une approbation. Les threads ouverts doivent être résolus avant le merge — GitLab bloque le bouton si ce n'est pas le cas.
Pour aller plus loin
Documentation utile
Guide pas à pas pour configurer un runner GitLab CI auto-hébergé sur un VPS OVH.
Techniques concrètes pour optimiser la durée de vos pipelines CI/CD.