Pipeline CI / CD

Diagramme du git flow

Voici un résumé du flow git utilisé :

Diagram

Technologies utilisé par le pipeline :

  • CI : Toute la partie CI est mise en place par des github action

    • test unitaire / intégrations / Lint avec :

      • unittest et flake8 : Python

      • TODO : Go

    • Anchore : test sécurité de l’image docker

    • Snyk: test de sécurité sur les dépendances

    • lychee : test de validité des liens

    • QEMU et buildx : test du build de l’image docker multi-architecture CPU

    • Antora : génération d’une documentation multi-repository

  • CD : La partie CD est répartis entre plusieurs technologies :

    • Github package, Semantic Release, QEMU et buildx: Build de l’image docker avec QEMU et buildx, stockage du code dans les release Github avec la version généré par semantic-release et stockage de l’image avec Github Package.

    • Flux CD / Argo CD: Récupération de l’image en mode pull dans Github package et déploiement automatique sur le cluster kubernetes on premise.

    • Cloudflare: Déploiement automatique de la documentation Antora sur Cloudflare en mode pull.

Organisation du pipeline de déploiement