Skip to content

Pipelines GitLab CI

La pipeline CI/CD est modulaire : chaque fichier dans infrastructure/cicd/ gere un aspect.

Structure des fichiers

infrastructure/cicd/
  _variables.yml        Variables globales (registry Docker, Dockerfile)
  _templates.yml        Templates de jobs (build, deploy, test, migrate)
  compose-review.yml    Composition automatique de la branche review
  test.yml              Tests unitaires Jest (11 services en parallele)
  build.yml             Build Docker par service
  security.yml          Scan Trivy (vulnerabilites HIGH/CRITICAL)
  migrate.yml           Migrations SQL via K8s Job
  deploy-staging.yml    Deploy K8s staging
  deploy-review.yml     Deploy K8s review
  deploy-production.yml Deploy K8s production (a activer)

Stages

compose → test → build → security → migrate → deploy
StageDescription
composeReconstruit la branche review (si DEPLOY_TARGET=review)
testTests unitaires Jest, 11 services en parallele
buildBuild Docker avec tags :staging, :review ou :production
securityScan Trivy sur les images Docker
migrateMigrations SQL (manuel)
deployRollout K8s + restart des deployments

Variable DEPLOY_TARGET

Sur la branche develop, un dropdown permet de choisir la cible :

ValeurEffet
staging (defaut)Pipeline staging classique : test → build → security → migrate → deploy-staging
reviewSeul le job compose-review s'execute, qui reconstruit la branche review et declenche sa propre pipeline

Les deux flows ne tournent jamais en meme temps.

Tags Docker

Le build tague automatiquement les images selon la branche :

BrancheTags
develop:staging, :SHA, :latest
review:review, :SHA, :latest
main:production, :SHA, :latest

Registry : registry.gitlab.com/nxpay/nex/<service>

NxPay — Plateforme fintech CEMAC