web-dev-qa-db-fra.com

Emplacement du référentiel Jenkins

Cela pourrait être une question étrange, mais cela m’arrive. Quelqu'un peut-il me dire quel emplacement de référentiel Jenkins utilise-t-il lorsque nous construisons un projet Maven? J'ai choisi l'option Default (~/.m2/repository) lors de la configuration de Jenkins, mais il semble que le comportement soit un peu différent. Bien que myown.jar soit présent dans mon référentiel local, c'est-à-dire dans /home/username/.m2, il indique l'erreur que myown.jar est introuvable. Je dois donc créer un travail pour ce projet myown, le construire et ensuite l’erreur est résolue.

Non seulement cela, lorsque j'ai mis le script Jenkins au démarrage, c'est-à-dire /usr/bin/Java -jar <warpath>.war, il a téléchargé toutes les dépendances de mes projets lors de sa construction, bien que j'avais construit le projet configuré 5 fois avant de le mettre au démarrage! N'est-ce pas un comportement étrange? Quel emplacement de référentiel Jenkins utilise-t-il? Ou y a-t-il quelque chose qui pourrait me manquer?

11
Mital Pritmani

en réalité, cela dépend de la configuration de chaque projet Maven. Par défaut, Jenkins utilisera le référentiel local JENKINS_HOME_DIR/.m2/repository si vous installez le maven en cochant la case Installer automatiquement, sinon il utilisera le répertoire /home/nom_utilisateur/.m2/repository.

toutefois, vous pouvez modifier cet emplacement par défaut en configurant le fichier settings.xml dans ~/.m2/settings.xml.

OR

pour une utilisation globale, vous pouvez le changer à partir de jenkins_home_dir/conf

par exemple, si vous installez maven en cochant la case Installer automatiquement

Step1. Choisissez l'installation maven pour un projet particulier dans le répertoire principal de jenkins

$ cd Jenkins_home_dir/tools/hudson.tasks.Maven_MavenInstallation/

Step 2. changer le localRepository dans settings.xml

La hiérarchie de settings.xml est le répertoire utilisateur .m2. S'il ne parvient pas à le trouver, il essaiera de le trouver dans {maven home}/conf/settings.xml.

9
Girish Kumar

Sous Windows, une fois installé et exécuté en tant que service Windows, vous pouvez utiliser la configuration ci-dessous. 

C:\Windows\SysWOW64\config\systemprofile\.m2\repository

C:\Windows\System32\config\systemprofile\.m2\repository

3
Sunvic

Sur le système Unix, utilisez l'outil find

[root@ip-172-23-38-167 ~]# Sudo find / -name ".m2"
/root/.m2
/var/lib/jenkins/.m2

Son sous /var/lib/jenkins sur rhel, (JENKINS_HOME_DIR supposé être /var/lib/jenkins)

[root@ip-172-23-38-167 ~]# ll /var/lib/jenkins/.m2/repository/
total 8
drwxr-xr-x.  4 jenkins jenkins   35 Apr 25 00:12 asm
drwxr-xr-x.  3 jenkins jenkins   38 Apr 23 20:18 backport-util-concurrent
drwxr-xr-x.  3 jenkins jenkins   17 Apr 25 00:12 ch
drwxr-xr-x.  3 jenkins jenkins   25 Apr 23 20:17 classworlds
drwxr-xr-x. 23 jenkins jenkins 4096 Apr 25 03:49 com
drwxr-xr-x.  3 jenkins jenkins   25 Apr 23 20:17 commons-cli
drwxr-xr-x.  3 jenkins jenkins   27 Apr 23 20:17 commons-codec
drwxr-xr-x.  3 jenkins jenkins   26 Apr 23 20:17 commons-dbcp
drwxr-xr-x.  3 jenkins jenkins   24 Apr 23 20:18 commons-io
drwxr-xr-x.  3 jenkins jenkins   26 Apr 23 20:18 commons-lang
drwxr-xr-x.  4 jenkins jenkins   56 Apr 24 22:45 commons-logging
drwxr-xr-x.  3 jenkins jenkins   26 Apr 23 20:17 commons-pool
drwxr-xr-x.  3 jenkins jenkins   27 Apr 25 00:11 eventstream
drwxr-xr-x.  6 jenkins jenkins   63 Apr 25 00:29 io
drwxr-xr-x.  6 jenkins jenkins   69 Apr 25 00:11 javax
drwxr-xr-x.  3 jenkins jenkins   19 Apr 24 23:09 jline
drwxr-xr-x.  3 jenkins jenkins   23 Apr 24 23:09 joda-time
drwxr-xr-x.  3 jenkins jenkins   19 Apr 23 20:17 junit
drwxr-xr-x.  3 jenkins jenkins   19 Apr 24 22:45 log4j
drwxr-xr-x.  9 jenkins jenkins  104 Apr 25 00:11 net
drwxr-xr-x.  3 jenkins jenkins   17 Apr 25 00:12 nz
drwxr-xr-x.  3 jenkins jenkins   18 Apr 25 00:12 ognl
drwxr-xr-x. 34 jenkins jenkins 4096 Apr 25 00:12 org
drwxr-xr-x.  3 jenkins jenkins   20 Apr 24 23:09 software
drwxr-xr-x.  3 jenkins jenkins   21 Apr 25 01:47 xmlpull
drwxr-xr-x.  3 jenkins jenkins   22 Apr 25 01:47 xpp3
3
prayagupd

Je suggère d'utiliser plugin fournisseur de fichier de configuration pour gérer les paramètres Maven.

Le plugin permet aux fichiers de configuration d'être gérés via l'interface utilisateur de Jenkins et facilement sélectionnés pour chaque génération de projet Maven.

1
Mark O'Connor

Il devrait utiliser ce que vous avez configuré dans /home/username/.m2/settings.xml - souvenez-vous nom_utilisateur sera celui qui exécute effectivement le serveur Jenkins. Cependant, si votre version actuelle de maven contient du fichier settings.xml dans son répertoire/conf, celui-ci est prioritaire par rapport à celui de votre répertoire/home.

Une fois que vous avez trouvé (ou créé) ce fichier settings.xml, indiquez-le là où vous avez besoin de votre référentiel local.

1
Jorge_B

Par défaut, Jenkins utilisera le référentiel local ~/.m2/repository sous le compte d'utilisateur utilisé pour exécuter Jenkins.

Il peut être configuré pour utiliser un référentiel privé pour une construction, mais il semble que vous ne l'ayez pas configuré.

Lorsque j'ai mis le script Jenkins au démarrage, c'est-à-dire/usr/bin/Java -jar .war, il a téléchargé toutes les dépendances de mes projets lors de sa construction, bien que j'aie construit le projet configuré cinq fois avant de le mettre au démarrage

À partir de là, il semble que votre script de démarrage puisse s’exécuter en tant qu’utilisateur différent? Peut-être l'utilisateur root?

Si Jenkins est utilisé en tant que root, il utilisera un référentiel local différent, à savoir /root/.m2/repository. Vous pouvez vérifier s'il existe un référentiel Maven et, le cas échéant, vous assurer que Jenkins n'est jamais exécuté en tant que root.

0
Martin Ellis

Dans Ubuntu, j'ai trouvé l'emplacement du référentiel sous /var/lib/jenkins/.m2Et je viens de le supprimer et de créer un lien vers mon référentiel maven existant ...

0
Kamiel Ahmadpour