# Retour sur l'étude CI/CD Démo Point de Synchro du 03/11/2023 --- ## La parole de l'expert > Si la CI ne marche pas, c'est qu'elle est cassée. -- Ludovic D. --- ## Problèmes Concourse CI : - Ne scale pas dans son architecture actuelle (or ajout prévu de centaines de clients NGOT) - Impossible d'imposer des limites (override par les pipelines) - Gestion du cache incompréhensible et problématique --- ## Problèmes Concourse CI : - L'interface web (plante, mal organisée, parfois ne refresh pas...) - L'interface CLI (non uniforme, difficile de cibler les bonnes ressources ou de faire des boucles) - Issues github jamais résolues --- ## Objectifs - Vider autant que possible Concourse infra pour des raisons de maintenance - Trouver une solution viable pour le devenir de NGOT --- ## Qualification du besoin - Interview avec chaque équipe - Usage actuel (y compris les workarounds) - Fonctionnalités manquantes --- ## Synthèse - En réalité deux fonctions distinctes : Continuous **Integration** d'un côté, Continuous **Deployment** de l'autre - CI : Besoin très faible, quelques build de conteneurs, lint... - CD : Coeur de nos déboires actuels --- ## CI : Proposition - Scopée par dépôts git - Pas de complexité dans notre usage, donc maintien d'une solution dédiée évitable - Utilisation du **GitLab DT-Store**, peut-être même en shared runner --- ## CD : Besoin - Scope global - Fort besoin de scalabilité - Maîtrise technologique --- ## CD : Besoin - Gestion k8s (kubectl, helm, etc.) - Gestion de Terraform (post-configuration d'applications, ressources cloud divers etc.) --- ## CD : Non retenu - **trackbone n'est pas viable sur le long terme** (Nix, conso mémoire, etc.) --- ## CD : Proposition - Évaluation des solutions du marché et internes (ArgoCD, FluxCD, PipeCD, etc.) - **Besoin d'instancier notre propre outillage** - Présentation lors d'une prochaine démo :wink: <style type="text/css"> p { font-size: smaller; } .reveal ul ul li { font-size: smaller; } .reveal section { text-align: left; } .reveal h3 { color: #FF8200; text-align: center; border-bottom: 1px solid #FF8200; } .reveal h1 { color: #FF8200; text-align: center; border-bottom: 1px solid #FF8200; margin-bottom: 0.4em; } .reveal h2 { color: #FF8200; text-align: center; text-decoration: underline; } .reveal code { color: aquamarine; font-size: smaller; } .reveal strong { color: #FF8200; } </style>
{"type":"slide","slideOptions":{"transition":"slide"}}