L’intégration continue (CI) fait partie intégrante d’une configuration de développement logiciel agile. Sprint après sprint, les équipes s’efforcent de « ne pas casser la construction » tout en offrant des fonctionnalités supplémentaires. Mais lorsque les développeurs se concentrent entièrement sur l’ajout de fonctionnalités, les erreurs de code peuvent parfois s’introduire et rendre le logiciel inutilisable.
Pour éviter que ces erreurs ne soient intégrées dans la gestion de configuration logicielle (SCM), un serveur CI est la sentinelle qui permet de garder un onglet sur la qualité du code. Même si le code est intégré à SCM, un serveur CI peut rapidement vous dire ce qui s’est mal passé. Dans ce post, examinons cinq outils de serveur CI open source que vous pouvez utiliser dans votre démarche agile.
1. Jenkins
Jenkins se concentre sur deux tâches principales: la construction / test continu de projets logiciels et la surveillance des travaux exécutés de l’extérieur. Pour le premier, Jenkins prend en charge une gamme d’outils SCM: Git, Mercurial, Subversion, Clearcase et bien d’autres. Vous pouvez créer des projets basés sur Apache Ant et Apache Maven et d’autres scripts shell ou fichiers de commandes Windows pour les activités de pré-build et de post-build. Il est à noter que presque toutes les configurations peuvent être effectuées via l’interface graphique Web.
Jenkins est disponible en tant que service auprès de fournisseurs tiers, mais si vous avez une énorme liste de versions à tester, il est probablement préférable de l’exécuter sur vos propres serveurs. Non seulement cela vous donne un contrôle total sur les problèmes d’infrastructure, mais aussi utile pour les entreprises soucieuses de la sécurité des logiciels.
2. Travis CI
Travis CI est l’une des solutions hébergées les plus anciennes et elle a gagné la confiance de nombreuses personnes. Bien qu’elle soit principalement connu pour la solution hébergée, elle offre également la version sur site sous forme de package d’entreprise.
Travis CI est gratuit pour tous les projets open source hébergés sur GitHub et pour les 100 premières builds. Sinon vous pouvez choisir parmi plusieurs plans de tarification, la principale différence étant le nombre de builds simultanés que vous pouvez exécuter.
Les constructions sont configurées en utilisant le fichier .travis.yml qui contient les tâches de construction qui seront exécutées lors de l’exécution du build. Il prend en charge une variété de langages et une possède une bonne documentation.
3. Bamboo
Atlassian est la société qui se concentre sur la fourniture d’outils pour les équipes de développement de logiciels et vous pouvez les connaître grâce à leurs outils tels que JIRA et Bitbucket. À l’origine, Bamboo proposait à la fois des solutions cloud et On-premises, mais en mai 2016, la version cloud a été abandonnée en faveur des pipelines Bitbucket (accessibles via le panneau de gauche de votre compte Bitbucket).
Étant alimenté par Docker, Bitbucket Pipelines est une solution très efficace et rapide qui grandit rapidement et devient un digne successeur du Cloud Bamboo.
Le bambou est libre d’essai pendant 30 jours, et après cela, il y a deux tarifications pour les petites équipes en croissance. Étant l’outil Atlassian, il a le support natif pour JIRA et BitBucket et vous pouvez même importer facilement vos configurations Jenkins dans le Bamboo.
4. GitLab CI
GitLab CI fait partie intégrante du projet Rails open source GitLab, mis en lumière par la société GitLab inc. GitLab est hébergé sur GitLab.com, un service hébergé gratuit et il fournit une gestion détaillée du dépôt git avec des fonctionnalités telles que le contrôle d’accès, le suivi des problèmes, les révisions de code et bien plus encore.
GitLab CI est entièrement intégré à GitLab et peut facilement raccorder des projets à l’aide de l’API GitLab. Les runners GitLab, que les builds de processus sont écrits en langage Go et peuvent fonctionner sous Windows, Linux, OSX, FreeBSD et Docker.
Le coureur Go officiel peut exécuter plusieurs tâches simultanément et dispose d’un support Docker intégré. Gitlab CI est fourni avec GitLab Community Edition et avec GitLab Enterprise Edition.
5. CodeShip
Si vous n’avez pas eu assez de solutions hébergées jusqu’à présent, en voici une autre.
Codeship existe en deux versions différentes: Basic et Pro. La version de base offre un service d’intégration Continuos prêt à l’emploi, mais n’a pas de support docker et son objectif principal est de créer des applications avec des workflows communs via l’interface utilisateur. La version Pro offre plus de flexibilité et un support docker.
La version de base est disponible en plusieurs paquets payants, où les plus chers ont plus de puissance de parallélisation. Dans la version pro, vous pouvez choisir votre type d’instance et la quantité de parallélisation jusqu’à 20x). Cela peut coûter un peu cher, mais certaines équipes peuvent avoir besoin de ce genre de capacité.