CI / CD

Ne réinventez pas la roue : une CI/CD performante avec muppy

CI/CD Classique


Conception

    • Definir Pipelines, Stages, Jobs

Installation

    • Provision servers ( CI/CD and Workers, Runners)

Development

    • Coder tous les scripts
      • Se former sur tous les outils d'analyse et leur mise en oeuvre
    • Créer tous les packages de déploiements et les scripts

Exploitation CI/CD

    • Les développeurs doivent aller dans chacun des outils d'analyse pour comprendre les résultats d'analyse
    • Les déploiements sont gérés par différents outils (eg. ArgoCD)


Plus de détails

Gitlab Auto DevOps + Muppy


Conception

    • Sélectionner les parties de Pipelines à désactiver

Installation

    • Activer Auto DevOps en 3 clics

Development

    • Ajouter un fichier gitlab-ci.yaml à la racine de chaque repo si besoin de personnaliser

Exploitation CI/CD

    • Tous les résultats remontent dans Gitlab et sont exploitables sous forme de logs (version gratuite) ou via un GUI (pour les versions payantes).
    • Les déploiements (partie test/review) sont déclenchés par les pipeline Gitlab et gérés par Muppy.


Plus de détails

Au delà de la conception et du setup initial de la CI/CD, Gitlab permet de s'affranchir du coût de la maintenance d'une CI/CD (OS, Outils et nouvelles pratiques)

  • Auto Code Quality
    • Code Climate : Outil d'analyse de qualité et performance du code
  • Auto SAST (Static Application Security Testing)
    • Gitlab Advanced SAST : Analyse du code source pour identifier les failles de sécurité et les vulnérabilités potentielles
      • Semgrep, bandit
  • Auto Secret Detection
    • Gitlab Secret Detection Docker image : Analyse du code source pour identifier des secrets ou informations sensibles (comme des clés API, mots de passe, ou tokens) qui auraient été accidentellement laissés dans le code
  • Auto Dependency Scanning
    • Gemnasium-python : Analyse des dépendances au niveau source code
      • setuptools, pip, pipenv, poetry
  • Auto Container Scanning
    • Trivy  : Analyse des images docker à la recherche de dépendances, licences, CVE, secrets, pb configuration (Iac Issues)

Tous ces tests sont exécutés automatiquement à chaque commit, offrant ainsi des garanties de conformité et de sécurité essentielles pour les audits