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 10/06/2011, 14h48   #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 Maven OPTS, et après ?

Bonjour à tous,

Exécutant plusieurs instances de Jenkins 1.400 sur une même machine, rapport à des branches SVN différentes, j'ai dû isoler également les repositories Maven exploités.

Dans la section Maven de "Administrer Jenkins/Configurer le système", j'ai donc ajouté un paramètre à "MAVEN_OPTS global" :
Code :
-Dmaven.repo.local=/home/toto/.m2-plugin/repository...
Or, dans la console, voici la ligne de commande indiquée :
Code :
1
2
Found mavenVersion 2.0.9 from file jar:file:/home/toto/products/apache-maven-2.0.9/lib/maven-2.0.9-uber.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties
/usr/lib/jvm/java-6-sun/bin/java -Dmaven.test.skip=true -cp /home/toto/.hudson-plugin/plugins/maven-plugin/WEB-INF/lib/
=> pas de trace de mon paramètre

Concrètement, j'ai pu vérifier que les artifacts étaient bien créés dans le repository dédié ; ce qui m'a conforté dans ma démarche au début. Mais arrivé à un certain job, Maven ne trouve pas un artifact dépendant construit par un autre job et se met à scruter le web à sa recherche...
Or l'artifact est bien à sa place dans le repository. Je précise que d'autres jobs ont la même dépendance et... fonctionnent !
En écrivant ça, j'ai jeté un oeil à la console des jobs OK ; et bien le paramètre est bien placé ! Du coup, j'ai pensé que peut-être la job KO n'était pas déclaré comme tâche Maven mais Shell (on passe parfois par des build.sh pour l'exécution) ; mais ce sont bien ttes les deux des jobs Maven...

Pourquoi est-ce que le paramètre n'est pas systématiquement passé aux jobs, est-ce que quelqu'un en a la moindre idée, SVP ?

Merci d'avance.
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 14h54   #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
Je continue mon enquête ; le config.xml de la job contient une balise supplémentaire, correspondant à la trace constatée :

Code :
1
2
  <mavenOpts>-Dmaven.test.skip=true</mavenOpts>
Je pense que cette option écrase l'option globale, qu'en pensez-vous ? Je ne sais pas comment on la spécifie dans la configuration de la tâche ? J'y vais à la main ??
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 16h41   #3
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
Bon ben, apparemment, il s'agit d'un bug dont j'ai retrouvé des traces datant de 2009, la classe !
Si l'option mavenOpts est définie pour une tâche (je ne sais pas où dans l'IHM), celle-ci remplace l'option globalMavenOpts qui a put être définie au niveau de l'application. C'est juste la méga loose.

2 solutions :
ne pas utiliser mavenOpts pour les tâches (encore faut-il SAVOIR s'il y en a ou pas, find+grep est ton ami)
ajouter les variables globales globalMavenOpts dans chaque balise mavenOpts des fichiers config.xml de chaque job (sympa la maintenance)
tooms4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h55.


 
 
 
 
Partenaires

Hébergement Web