Yves Brissaud
DevoxxFR 2025
Pour une autre idée de la CI
Sur la machine du développeur
avec Dagger
Slide 2
Slide 2 text
𝕏
🦋
Yves Brissaud
@_crev_
@yves.brissaud.name
Slide 3
Slide 3 text
Il fut un temps où…
Généralement, on n’avait pas de CI
On était trop occupé à migrer sous svn
• Tests sur la machine de dev
• Pas toujours automatisés
• Intégration manuelle
• Procédures écrites
• …
Slide 4
Slide 4 text
Et un jour…
Les CI sont arrivées !
• Hudson (2005)
• Jenkins (2011)
• Travis CI / Circle CI (2011)
• Semaphore (2012)
• GitLab CI (2015)
• GitHub Actions (2018/2019)
• …
Slide 5
Slide 5 text
Et un jour…
Git !
• Git (2005)
• GitHub (2008)
• 2011 > SourceForge / Google Code
Slide 6
Slide 6 text
Et un jour…
All IN!
• Machine de dev → serveur CI
• Tests
• Builds
• Lint
• …
Slide 7
Slide 7 text
Et un jour…
All IN!
🚙 🚀
• Machine de dev → serveur CI
Slide 8
Slide 8 text
Aujourd'hui
Habitudes / culture
Pull
request
Commits
Automated
CI
⏳
Slide 9
Slide 9 text
Pourquoi une CI ?
On souhaite s’assurer que :
• Le code respecte les standards
• Les tests passent
• Les assets sont buildables
• Déployable
• …
Slide 10
Slide 10 text
Pourquoi une CI ?
On souhaite s’assurer que :
✓La tâche a été lancée
✓La tâche a été un succès
✓Le résultat est stable
Un autre monde est-il possible ?
Sans pour autant perdre en assurance
Pourrait-on arriver au même résultat,
aux mêmes garanties,
sans CI centralisée ?
Slide 13
Slide 13 text
🚙 🚀
• Machine de dev - serveur CI
Aujourd’hui…
🚀 🚙
Slide 14
Slide 14 text
Aujourd’hui…
Push
and
🙏
Slide 15
Slide 15 text
https://x.com/dhh/status/1785016820740788495
Slide 16
Slide 16 text
Contraintes
✓La tâche a été lancée
✓La tâche a été un succès
✓Le résultat est stable
➡ Enregistrement de l’état
➡ Outil local
➡ Conteneurs
Sans bash, makefile, etc
Sans Yaml
Slide 17
Slide 17 text
Dagger
Slide 18
Slide 18 text
Dagger
Open-source runtime
for composable
workflows
Slide 19
Slide 19 text
Dagger
Tous langages
Toutes plate-formes
Slide 20
Slide 20 text
Dagger
Slide 21
Slide 21 text
Dagger
Observabilité
Slide 22
Slide 22 text
Dagger
Slide 23
Slide 23 text
Dagger
Modularité
Slide 24
Slide 24 text
Dagger
LLM
Slide 25
Slide 25 text
Dagger
Démo
Slide 26
Slide 26 text
Et ma CI ?
Slide 27
Slide 27 text
Oui… mais
https://github.com/basecamp/gh-signoff
Slide 28
Slide 28 text
Dagger
Démo
Slide 29
Slide 29 text
https://github.com/dagger/dagger
Discord
Community call 1 jeudi / 2
Dagger
Join the community