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.

GitLab CI/CD

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

Comment installer un runner GitLab sur un serveur OVH

Guide pas à pas pour configurer un runner GitLab CI auto-hébergé sur un VPS OVH.

Améliorer votre vitesse de déploiement avec GitLab CI

Techniques concrètes pour optimiser la durée de vos pipelines CI/CD.