Jenkins, qui s'appelait à l'origine Hudson, est un outil d'Intégration Continue open source écrit en Java. Bénéficiant d'une part de marché dominante, Jenkins est utilisé par des équipes de toutes tailles, pour des projets dans des langages et des technologies variés, incluant .NET, Ruby, Groovy, Grails, PHP et d'autres, ainsi que Java bien sûr. Qu'est ce qui est à l'origine du succès de Jenkins ? Pourquoi utiliser Jenkins pour votre infrastructure d'IC ?
Tout d'abord, Jenkins est facile à utiliser. L'interface utilisateur est simple, intuitive et visuellement agréable, et Jenkins dans son ensemble a une très petite courbe d'apprentissage. Comme nous le verrons dans le chapitre suivant, vous pouvez démarrer avec jenkins en quelques minutes.
Cependant jenkins n'a pas sacrifié puissance ou extensibilité : il est aussi extrêmement flexible et s'adapte facilement à vos moindres désirs. Des centaines d'extensions open source sont disponibles, et de nouvelles aparaissent toutes les semaines. Ces extensions couvrent tout : les outils de gestion de configuration, les outils de build, les métriques de qualité de code, les annonceurs de build, l'intégration avec des systèmes externes, la personalisation de l'interface utilisateur, des jeux et bien d'autres fonctionnalités encore. Les installer est simple et rapide.
Enfin, mais ce n'est pas négligeable, une bonne part de la popularité de Jenkins vient de la taille et du dynamisme de sa communauté. La communauté Jenkins est immense, dynamique, réactive et c'est un groupe accueillant, avec ses champions passionnés, ses listes de diffusion actives, ses canaux IRC et son blog et son compte twitter très bruyants. Le rythme de développement est très intense, avec des livraisons hebdomadaires comportant les dernières évolutions, corrections et mises à jour des extensions.
Cependant, Jenkins répond tout aussi bien aux attentes des utilisateurs qui ne souhaitent pas mettre à jour toutes les semaines. Pour ceux qui veulent un rythme moins trépidant, il existe une version Long-term Support, ou LTS. Il s'agit d'un ensemble de versions qui sont à la traine par rapport à la toute dernière en termes de nouveautés mais qui apportent plus de stabilité et moins de changements. Les versions LTS sortent environ tous les trois mois, les correctifs importants y sont intégrés. Ce concept est identique aux versions Ubuntu LTS .