
Screwdriver CD
Overview
Screwdriver CD, c'est un moteur CI/CD open-source développé par Yahoo, avec une architecture microservices et optimisé pour la conteneurisation.
Il fonctionne avec des pipelines définis dans un fichier screwdriver.yaml à la racine du dépôt. Tout est tracé, tout est versionné, comme du code normal.
La solution mise sur la conteneurisation native, la scalabilité horizontale, et surtout l'intégration avec Kubernetes. Elle s'intègre bien avec GitHub, GitLab, les registres de conteneurs, et les plateformes cloud.
C'est une solution CI/CD moderne et cloud-native, surtout adaptée aux organisations qui veulent une approche microservices et conteneurisée de la CI/CD. Si tu es déjà dans Kubernetes et que tu aimes les architectures microservices, c'est un choix naturel.
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://screwdriver.cd/ |
| Licence | BSD 3-Clause |
| Nationalité | États-Unis (Yahoo/Verizon Media) |
| Type | CI/CD déclaratif cloud-native |
| Déploiement | Kubernetes (self-hosted), SaaS disponible |
| Difficulté | Intermédiaire à avancé |
| Technologies | Node.js, Docker, Kubernetes |
TL;DR
Screwdriver CD, c'est pour ceux qui veulent une solution CI/CD moderne et cloud-native, avec une architecture microservices et optimisée pour Kubernetes. Tu as une approche conteneurisée native, une scalabilité horizontale, et une intégration poussée avec les plateformes cloud. Si tu es déjà dans Kubernetes et que tu aimes les architectures microservices, c'est un choix naturel.
Points clés à retenir :
- Pipelines déclaratifs en YAML versionnés dans le dépôt, comme du code normal.
- Architecture microservices et cloud-native : scalable et distribuée.
- Intégration native avec Kubernetes : comme si c'était fait pour.
- Exécution conteneurisée de tous les jobs : isolation et reproductibilité garanties.
- La configuration initiale peut être complexe pour les déploiements self-hosted : il faut comprendre les concepts.
Compatibilité et intégrations
- Intégration avec GitHub, GitLab, Bitbucket
- Déploiement natif sur Kubernetes
- Support des registres de conteneurs (Docker Hub, ECR, GCR)
- Intégration avec les plateformes cloud (AWS, GCP, Azure)
- Support des secrets managers (Vault, Kubernetes secrets)
Avantages
- Architecture microservices scalable : tu adaptes selon tes besoins
- Pipelines en YAML versionnés dans le dépôt, comme du code normal
- Exécution conteneurisée native : isolation et reproductibilité garanties
- Intégration poussée avec Kubernetes : comme si c'était fait pour
- Scalabilité horizontale : tu montes en charge sans problème
- Interface web moderne et intuitive : ça fait plaisir à utiliser
- Solide écosystème open-source : tu ne seras pas seul
Limites
- La configuration initiale est complexe pour self-hosted : il faut comprendre les concepts
- L'architecture microservices demande plus de ressources : il faut de la RAM, du CPU
- Moins de documentation communautaire que certaines alternatives : mais l'essentiel est là
- Le déploiement sur Kubernetes peut être exigeant : il faut bien connaître K8s
- Courbe d'apprentissage pour les concepts microservices : il faut comprendre avant de commencer
Ressources
- Documentation Screwdriver CD : https://docs.screwdriver.cd/
- Guide de démarrage : https://docs.screwdriver.cd/user-guide/quickstart
- Repository GitHub : https://github.com/screwdriver-cd/screwdriver
- Architecture : https://docs.screwdriver.cd/cluster-management/
- Communauté et support : https://slack.screwdriver.cd/