Précédent   Forum des professionnels en informatique > Général Développement > Conception > Usine Logicielle > Intégration Continue
Intégration Continue Forum d'entraide sur les outils d'intégration continue (Continuum, CruiseControl, Hudson, TeamCity, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2011, 15h24   #1
Membre habitué
 
Homme Thomas Escolan
Architecte JEE/Spring - ScrumMaster
Inscription : juin 2010
Messages : 198
Détails du profil
Informations personnelles :
Nom : Homme Thomas Escolan
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Architecte JEE/Spring - ScrumMaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2010
Messages : 198
Points : 115
Points : 115
Par défaut Quel serveur d'IC pour gérer plusieurs branches ?

Bonjour à tous,

Pour les besoins de la cause, j'ai travaillé sur la configuration de plusieurs instances de Jenkins, afin de gérer plusieurs chaînes de production s'appuyant sur des branches différentes. Ça n'a pas été sans mal, mais ça fonctionne dorénavant.

Mais nous avons atteint les limites de l'exercice : à savoir que le nombre d'instances est bien entendu limité sur une même machine (il y a la possibilité de déléguer du boulot, mais je ne sais pas si les esclaves supporteraient d'être utilisés par plusieurs maîtres) ; et surtout ce fonctionnement nécessite de dupliquer la configuration pour chaque branche (redirection des accès SCM et du repository local Maven, etc.). Ce qui est fastidieux.


Ma question, d'ordre général, est la suivante : qui de Jenkins, Continuum et TeamCity (ou autres ?) est susceptible d'offrir un service de séparation complète de l'exécution des jobs tout en se basant sur une définition commune de ces jobs ?
L'idéal serait de pointer pour chaque branche sur un rootpath différent, sans avoir à changer autre chose, et (surtout) que les changements sur un job particulier soient dynamiquement pris en compte dans chaque "instance".
Je ne suis pas sûr que la notion d'agent que l'on retrouve chez les uns et les autres corresponde, j'ai l'impression que c'est plus lié à des question de maître/esclave ; mais je peux me tromper.

Je ne sais pas si je suis clair... peut-être que j'en demande trop, aussi
Merci d'avance pour vos avis.
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 11h42   #2
Membre habitué
 
Homme Thomas Escolan
Architecte JEE/Spring - ScrumMaster
Inscription : juin 2010
Messages : 198
Détails du profil
Informations personnelles :
Nom : Homme Thomas Escolan
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Architecte JEE/Spring - ScrumMaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2010
Messages : 198
Points : 115
Points : 115
Par défaut Prise en charge des modules Maven

Pendant que j'y suis, une petite question aussi sur les modules Maven. Lequel des serveurs IC les gère le mieux, à votre avis ?

J'ai lu que Continuum était le premier à le proposer, mais l'article date un peu. Mais j'ai du mal à trouver des infos pratiques sur la gestion des modules Maven dans Jenkins que nous utilisons actuellement.
Je n'arrive pas à savoir si les modules sont bien traités séparément au niveau du SCM, pour ne compiler que la sous-partie de code et les autres modules qui en dépendent.

Merci d'avance.
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 08h30   #3
Rédacteur/Modérateur
 
Avatar de romaintaz
 
Homme Romain Linsolas
Java craftsman
Inscription : juillet 2005
Messages : 3 420
Détails du profil
Informations personnelles :
Nom : Homme Romain Linsolas
Âge : 33
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Java craftsman
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 3 420
Points : 5 398
Points : 5 398
Bonjour,

Concernant ton dernier point : avec Jenkins (donc Hudson aussi), tu peux définir des builds incrémentaux (c'est une option proposée par Maven, mais du coup supportée par cet IC).

Autrement dit, imaginons que tu as 3 modules, mod1, mod2 et mod3, qui ont des inter-dépendances (mod1 -> mod2 -> mod3 par ex.).
Lorsque Jenkins va vérifier sur le SCM pour les modifications, si tu as juste modifié mod2, alors il recompilera uniquement mod2 et mod3, laissant mod1 tranquille, vu qu'il n'est pas impacté par la modification. Il suffit juste d'utiliser une version de Maven 2.1 ou supérieure.
__________________
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Mes liens : Blog | Page DVP | Suivez-moi sur Twitter
Mes articles : Hudson | Sonar | Outils de builds Java Maven 3 | TeamCity| CitConf 2009
Mes critiques : Apache Maven
romaintaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h20   #4
Membre habitué
 
Homme Thomas Escolan
Architecte JEE/Spring - ScrumMaster
Inscription : juin 2010
Messages : 198
Détails du profil
Informations personnelles :
Nom : Homme Thomas Escolan
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Architecte JEE/Spring - ScrumMaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2010
Messages : 198
Points : 115
Points : 115
Merci du tuyau. Pour le moment, nous sommes coincés en Maven 2.0.x
Je vais essayer de trouver le temps de tester sur pièce, pour voir si je progresse avec Continuum jusqu'à le préférer à Jenkins.
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h43.


 
 
 
 
Partenaires

Hébergement Web