# 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>