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