Intégration de Jenkins
01
Jenkins, créé en 2011, est un outil Open Source répondant aux besoins d’intégration et de déploiement continus CI/CD.
Il s’agit d’une solution qui permet d’automatiser certaines phases de développement applicatif tels que :
- Build
- Tests
- Déploiement
Ainsi, après toute modification apportée au code, la recompilation se fait automatiquement. S’en suivent des tests automatisés via le framework intégré JUnit, qui alerte les développeurs en cas d’anomalie.
Jenkins est développé en Java et peut être utilisé sur tout type de plateforme, y compris dans le Cloud. Il fonctionne sur son propre serveur web, ou via un conteneur de servlets (ex. Apache Tomcat).
Enfin, Jenkins propose plus de 1700 plugins, notamment le Jenkins Pipeline, via son Update Center. Ces plugins sont régulièrement mis à jour et peuvent être personnalisés et intégrés à d’autres outils DevOps.
02
Solution Open source
- Logiciel gratuit et Open Source, permettant de s’affranchir des coûts de licence, …
Répartition de la charge
- Possibilité de répartir de manière optimisée la charge de travail sur plusieurs machines situées à plusieurs endroits distincts
Installation simple
- Disponibilité de packages prêts à installer pour tous types de systèmes d’exploitation tels que Windows, macOS X ou Unix
Configuration facile
- Interface web ergonomique et intuitive offrant une aide intégrée
Extensibilité
- Au travers des divers plugins proposés, Jenkins peut être utilisé pour des projets simples comme pour ceux nécessitant un serveur CI/CD
Retour d’expérience
- Communauté très active, permettant de trouver rapidement les réponses aux problématiques rencontrées
03
- Développement de solutions applicatives, web et logicielles intégrant l’outil Jenkins, afin de permettre une approche CI/CD :
- L’intégration et la configuration de l’outil Jenkins
- Définition d’une stratégie CI/CD
- Conception et construction du pipeline CI/CD (l’intégration et le déploiement continus)
- L’automatisation des tests
- Debugging de code et mise en oeuvre de la résolution et de corrections
- Maintenance de l’outil et support à long terme
- Ajout de modules complémentaires à des solutions existantes