Hautement personnalisable, vaste écosystème de plugins, supporte de nombreux langages et plateformes, peut s'intégrer avec presque tous les outils de développement.
Interface utilisateur datée, configuration complexe, nécessite une maintenance régulière, peut devenir lourd avec de nombreux plugins.
Courbe d'apprentissage abrupte, nécessite des compétences en Ruby, complexité de configuration pour les débutants.
Utilité (fonction)
Jenkins est un outil open source de serveur d'automatisation. Il aide à automatiser les parties du développement logiciel liées au build, aux tests et au déploiement, et facilite l'intégration continue et la livraison continue.
Puppet est un outil de gestion de configuration qui permet d'automatiser le provisionnement, la configuration et la gestion des infrastructures informatiques.
Langue de programmation
Java
C++
Système d‘exploitation
Multiplateforme (Windows, macOS, Linux)
Multiplateforme (Windows, macOS, Linux)
Licence
MIT License
OpenSource Puppet : Licence Apache
Puppet Entreprise : Propriétaire
Développeur
Kohsuke Kawaguchi
Puppet
Communauté
Grande communauté d'utilisateur de Jenkins, notamment sur leur blog. Beaucoup de plugin fait par la communauté.
Petite communauté, peu de contributeur au projet Git.
Performance générale
Moyenne
Très bonne, avec des performances optimisées pour les infrastructures complexes
Maintenabilité
Très complexe à mettre à jour
Peut être complexe, besoin d'une bonne gouvernance afin de suivre les bonnes pratiques
Facilité d'apprentissage
Plutôt complexe, peut nécessiter de connaître le Groovy ou le Jaba
Difficile, nécessite du temps pour maîtriser le langage Puppet DSL et les concepts avancés.
Configuration
Configuration part l'interface, ou fichier Groovy/Java
Utilise un langage déclaratif spécifique (Puppet DSL)
Documentation
Documentation officielle complète disponible sur jenkins.io, nombreux tutoriels et une large communauté.
Documentation officielle complète disponible sur puppet.com, avec de nombreux tutoriels et ressources d'apprentissage.
Alternative
GitLab CI, GitHub Actions
Ansible, Puppet
On l'aime pour
Hautement personnalisable, vaste écosystème de plugins, supporte de nombreux langages et plateformes, peut s'intégrer avec presque tous les outils de développement.
Très flexible et puissant, idéal pour les infrastructures complexes.
On le déteste pour
Interface utilisateur datée, configuration complexe, nécessite une maintenance régulière, peut devenir lourd avec de nombreux plugins.
Courbe d'apprentissage abrupte, nécessite des compétences en Ruby, complexité de configuration pour les débutants.
Fréquence de mise à jour
Fréquente
Fréquente
Maturité
Très mature
Très mature