Quelques outils...
Apache Continuum
Continuum est le logiciel d'intégration continue tout droit venu de la fondation Apache.
Il comporte les fonctionnalités suivantes :
- support d'outils de build: Suite Apache et script shell
- support de systèmes de gestion de versions : CVS, Subversion, ClearCase, Perforce, Starteam, Visual Source Safe, CM Synergy, Bazaar, Mercurial
- type de construction : manuel, programmé
- modèle de job : l'utilisateur peut définir ses propres constructions sur chaque projet
- notification de résultat de la construction
- construction en parallèle grâce à la gestion de plusieurs files de construction
- construction en mode distribué grâce à des agents de construction.
Installation & configuration
Cet outil peut être installé sur un conteneur d'application de type Tomcat ou Jetty ou directement en le lançant dans une console java avec son propre serveur d'application intégré. Il nécessite une configuration assez délicate car il faut le connecter manuellement à une base de données contrairement à d'autre outil qui le font automatiquement via leur propre base intégrée. Pour cela il faut configurer tous les connecteurs JDBC selon le modèle de base présent. Il faut la créer et configurer le fichier server.xml au préalable avant de lancer l'instance Continuum.
Ensuite il faut utiliser l'interface de gestion pour créer les différents jobs et comptes de services à utiliser.
Fig1: 1ère connexion
Fig2: Configuration
Fig3: Ajout de projet - création d'un job.
Les points forts
L'ajout et la création de job est très bien détaillée. On retiendra surtout la facilité de l'utilisation des outils de build étant donné que les plus utilisés : ANT et MAVEN proviennent d'Apache. Il y a la possibilité de configurer des templates de job, chose qui est rare chez les autres éditeurs.
Les points faibles
Bien que la configuration soit détaillée sur le site d'Apache.org, l'outil n'est pas aussi simple à mettre en place que ceux provenant d'autres éditeurs.
La communauté est assez faible en ce qui concerne les plugins, là où celle de Jenkins est forte et complète.
En conclusion
Malgré que l'outil soit agréable à utiliser, il est assez limité au niveau des plugins et c'est ce qui fait qu'il n'est pas aussi populaire que son homologue Jenkins.
Jenkins
Jenkins est l'outil d'intégration continue gratuit le plus répandu actuellement.
Originellement, ce logiciel a été créé par Kohsuke Kawaguchi en 2008 sous le nom de Hudson et était hébergé sur la plate-forme java.net. Suite à l’acquisition de Sun par Oracle, certains désaccords et incidents ont conduit le fondateur à migrer et renommer le projet sous le nom de Jenkins en 2011.
Il comporte les fonctionnalités suivantes :
- support d'outils de build: Suite Apache et script shell
- support de systèmes de gestion de versions : CVS, Subversion, ClearCase, Perforce, Starteam, Visual Source Safe, CM Synergy, Bazaar, Mercurial
- type de construction : manuel, programmé
- modèle de job : l'utilisateur peut définir ses propres constructions sur chaque projet
- notification de résultat de la construction
- construction en parallèle grâce à la gestion de plusieurs files de construction
- construction en mode distribué grâce à des agents de construction
- Intégration avec différents outils de suivi d'incidents ou de bogues
- Exécution de scripts à distance par SSH
- Transfert de fichiers par SCP ou FTP
- Transfert d'artefacts vers un repository
- Exécution d'outils de contrôles de qualité de code
Installation & configuration
Pour ce qui est de l'installation et de la configuration: elle est plus rapide et facile à mettre en place qu'Apache Continuum. Il est possible de l'ajouter à notre conteneur web grâce au fichier .war. Sinon tout comme continuum, il possède sa propre instance de serveur d'application qu'on peut lancer avec la console Java.
Le menu d'accueil est assez épuré et très simple à comprendre. Il ne faut que quelques minutes pour le prendre en main. Il n'y pas vraiment besoin de consulter la documentation sur le site de jenkins car tout est relativement intuitif.
Fig1: Dashboard
Pour ce qui est de la création d'un job là encore tout est très bien détaillé. On retiendra surtout la grande diversité d'option disponible avec les plugins que la communauté apporte.
Fig2: Ajout de projet - création d'un job.
L'installation de plugins est encore plus simple que les autres fonctionnalités. Il suffit de cocher le plugin à installer parmis une liste automatiquement mise à jour. Il suffit juste ensuite de redémarrer si souhaité, la plateforme et le tout est ok.
Fig3: Plugin Chuck Norris
Fig4: historique des builds
Les points forts
L'ajout et la création de job est très bien détaillée. On retiendra surtout la facilité d'ajout de plugins et d'une communauté très active qui propose un grand nombre de plugins.
Les points faible
Le changement trop rapide de version peut parfois entrainer des instabilités avec certains plugins qui n'ont pas encore été mis à jour. Bien que la mise à jour soit simple à appliquer, il vaut mieux posséder une instance de test afin d'observer le comportement général de la plateforme.
En conclusion
Jenkins est aujourd'hui l'outil d'intégration continue le plus populaire grâce à ses nombreux plugins ou la possiblité de les créer. Il est aussi possible de forker le projet avec les sources disponibles sur Github afin de posséder sa propre instance personnalisée. Ces éléments sont un réel atout. Ce qui en ont fait son succès.