Aperçu des meilleurs outils d’intégration continue
L’intégration continue (IC) permet aux développeurs de logiciels d’éluder la phase d’intégration chronophage et complexe normalement nécessaire en fin de projet. Au lieu d’attendre le dernier moment pour regrouper les différents éléments, avec l’intégration continue, chaque nouveauté est directement intégrée dans le code de base. Cela demande de la discipline et des processus efficaces ; dans le cas contraire, l’IC devient plus un frein qu’une aide. Des logiciels développés spécialement dans ce but simplifient l’intégralité de ce processus.
Si vous n’êtes pas encore sûr de faire le choix de l’IC pour vous et votre équipe, vous trouverez toutes les informations ainsi qu’un comparatif des avantages et des inconvénients dans notre article détaillé sur l’intégration continue.
Qu’ils soient utilisés de façon entièrement indépendante ou en combinaison avec d’autres applications connues, les outils IC apportent une aide bienvenue dans la mise en place d’un dépôt, dans la phase de test, la phase de construction ainsi que dans la gestion des versions et naturellement dans l’intégration continue à proprement parler.
8 outils IC populaires
Aujourd’hui, on trouve de nombreux outils d’intégration continue différents sur Internet. Ils ont tous vocation à aider les développeurs dans la mise en œuvre de l’intégration continue et y parviennent de différentes façons avec des fonctionnalités bien spécifiques. Mais les outils IC ne se distinguent pas uniquement par l’étendue de leurs fonctionnalités, on constate également de grandes différences en termes de prix et licence. Alors que bon nombre d’entre eux sont des logiciels open source disponibles gratuitement, certaines fabricants proposent également des outils payants. Nous vous proposons un aperçu des programmes les plus appréciés et vous présentons leurs caractéristiques et leurs fonctionnalités.
Jenkins
Le logiciel Jenkins est probablement l’un des outils IC les plus connus sur le marché. Depuis 2005 (à l’époque sous le nom de Hudson), le logiciel a été constamment amélioré. Aujourd’hui, ce logiciel programmé sous Java offre de nombreuses fonctionnalités et interfaces contribuant à faciliter non seulement l’intégration continue, mais aussi la livraison et le déploiement continus.
- programmé sous Java
- fonctionne dans un conteneur d’EJB
- plus de 1 000 plugins
- supporte également la livraison et le déploiement continus
- peut être combiné avec de nombreux systèmes de contrôle de version
- contrôle via IGU (basée sur le Web), API REST ou commandes
- hébergement sur le Cloud possible
- gratuit
- open source (licence MIT)
Travis CI
Les personnes travaillant avec GitHub préféreront certainement Travic CI, car cet outil CI fonctionne parfaitement avec ce système de gestion des versions populaire. Le logiciel est paramétrable à l’aide d’un simple fichier YAML hébergé dans le répertoire racine du projet de développement. GitHub informe Travis CI de chaque modification apportée dans le dépôt et maintient toujours le projet à jour.
- programmé sous Ruby
- fonctionne sur toutes les plateformes
- fonctionne avec GitHub
- configuration à l’aide d’un fichier YAML
- gratuit pour les projets open source
- Pour les projets commerciaux, coût compris entre 69 $ et 489 $ par mois
- open source (licence MIT)
Bamboo
La société Atlassian, qui propose également aujourd’hui le service d’hébergement de fichiers Bitbucket, distribue depuis 2007 l’outil d’intégration continue Bamboo. À l’instar de Jenkins, Bamboo assiste les développeurs dans l’intégration mais offre également des fonctionnalités pour le déploiement et la gestion des versions. Le travail avec cet outil s’effectue via une interface en ligne simple.
- programmé sous Java
- fonctionne sur toutes les plateformes
- intégration simple d’autres produits Atlassian
- grande quantité d’extensions
- plusieurs tests possibles en simultanée
- communication via une interface Web et API REST
- gratuit pour les projets open source, les organisations à but non lucratif et les classes scolaires
- pour toute autre utilisation, coût unique entre 10 $ et 110 000 $ en fonction du nombre de serveurs utilisés
GitLab CI
GitLab CI est une composante du célèbre système de gestion des versions GitLab. En plus de l’intégration continue, GitLab offre un déploiement et une livraison continus. Tout comme pour Travis CI, la configuration de GitLab CI s’effectue via un fichier YAML. Par rapport à d’autres outils, le travail avec ce logiciel est également plus facile à d’autres égards.
- composante de GitLab
- programmé sous Ruby et Go
- configuration à l’aide d’un fichier YAML
- supporte également la livraison et le déploiement continus
- Open Core
- auto-hébergement et hébergement sur le cloud disponibles
- la version gratuite dispose uniquement de quelques fonctionnalités
- le coût des autres versions est compris entre 4 $ et 99 $ par mois et par utilisateur
Circle CI
L’outil d’intégration continue CircleCI fonctionne parfaitement avec GitHub et Bitbucket. Pour la phase de test, un conteneur ou une machine virtuelle sont utilisés. CircleCI accorde une grande importance à des processus de développement fluides, sans heurts, ce qui permet de mettre automatiquement à disposition des builds exempts d’erreur pour d’autres environnements.
- configuration à l’aide d’un fichier YAML
- supporte également le déploiement continu
- auto-hébergement et hébergement sur le cloud disponibles
- fonctionne dans des conteneurs Docker, sous Linux VMs et MacOS VMs
- gratuit pour un conteneur
- autrement, coût compris entre 50 $ et 3 150 $ par mois
CruiseControl
L’outil CruiseControl fait partie des plus anciennes applications proposant une intégration continue. Cet outil a été introduit sur le marché dès 2001 et a été constamment amélioré depuis, notamment par Martin Fowler qui est l’un des pionniers dans le domaine de l’intégration continue. Outre un tableau de bord clair, les développeurs disposent également de nombreux plugins facilitant leur travail.
- programmé sous Java
- fonctionne sur toutes les plateformes
- tableau de bord basé sur le Web
- des versions pour Ruby (CruiseControl.rb) et .NET (CruiseControl.NET) sont disponibles
- open source (licence BSD)
- gratuit
Codeship
L’outil IC Codeship appartient aujourd’hui à CloudBee qui dispose également de Jenkins dans son portefeuille. Ce programme est disponibles en deux versions : la version de base offre une interface Web facile d’utilisation alors que la version pro est configurée à l’aide de fichiers dans le dépôt. Les développeurs souhaitant travailler avec un conteneur Docker devront opter pour la version pro.
- interface Web dans la version de base
- fichiers de configuration dans le dépôt pour la version pro
- Docker supporté dans la version pro
- gratuit pour 100 builds par mois en cas de pipeline test
- coût compris entre 75 $ et 1 500 $ par mois
TeamCity
Le logiciel TeamCity séduit avant tout par ses « gated commits » : grâce à ces derniers, TeamCity teste les modifications apportées au code avant même qu’elles ne soient insérées dans la mainline. Le code source est uniquement intégré au code base pour toute l’équipe lorsqu’il est exempt d’erreur. TeamCity effectue les tests de façon autonome en arrière-plan de telle sorte que les développeurs peuvent poursuivre leur travail dans l’intervalle.
- programmé sous Java
- fonctionne sur toutes les plateformes
- Gated Commits
- gratuit pour 100 builds avec 3 agents de build
- coût unique compris entre 299 € et 21 999 €
- 50 % de remise pour les start-ups et gratuit pour les projets open source
Tableau récapitulatif : les outils d’intégration continue en un coup d’œil
Tous les outils IC présentent des avantages et des inconvénients. À l’aide du tableau récapitulatif ci-dessous, vous pourrez identifier en un coup d’œil les programmes susceptibles de vous convenir. Vous pourrez ainsi voir directement si le service supporte également la livraison continue ou propose un hébergement sur le cloud.
déploiement continu supporté | hébergement sur le Cloud | licence | prix pour l’offre payante | version gratuite | particularité | |
Jenkins | MIT | - | nombreux plugins | |||
Travis CI | MIT | 69–489 $ par mois | connexion directe à GitHub | |||
Bamboo | propriétaire | coût unique de 10-110 000 $ | ||||
GitLab CI | MIT/EE | 4-99 $ par mois | connexion directe avec d’autres produits Atlassian | |||
Circle CI | propriétaire | 50-3 150 $ par mois | utilisation simple | |||
CruiseControl | BSD | - | entièrement gratuit | |||
Codeship | propriétaire | 75-1 500 $ par mois | version de base et pro | |||
TeamCity | propriétaire | coût unique de 299-21 999 € | Gated Commits |