2014-02-14 4 views
8

Это может быть странный вопрос, но это происходит со мной. Может ли кто-нибудь сказать мне, что местоположение хранилища whice использует Дженкинс, когда мы строим проект Maven? Я выбрал опцию Default (~/.m2/repository) при настройке Jenkins, но похоже, что поведение немного отличается. Хотя этот myown.jar присутствует в моем локальном репозитории, то есть в /home/username/.m2, он показывает ошибку, что myown.jar не найден. Поэтому мне нужно построить работу для этого проекта myown, построить его, а затем решить эту проблему.Местоположение хранилища Jenkins

Не только это, когда я ставил сценарий Jenkins при запуске, то есть /usr/bin/java -jar <warpath>.war, он снова загружал все зависимости моих проектов при его создании, хотя я сконструировал сконфигурированный проект 5 раз, прежде чем положить скрипт в стартап! Разве это не странное поведение? В каком месте репозитория используется Дженкинс? Или есть что-то, чего я могу потерять?

ответ

1

Он должен использовать то, что вы сконфигурировали в /home/username/.m2/settings.xml - запомнить имя пользователя будет эффективно выполнять сервер jenkins. Однако, если ваша текущая версия maven содержит несколько параметров settings.xml в каталоге/conf, это один из приоритетов по сравнению с тем, который находится в вашем/home

Как только вы найдете (или создаете) этот параметр settings.xml, где вам нужно иметь свой местный репозиторий

0

По умолчанию Jenkins будет использовать локальный репозиторий ~/.m2/repository под учетной записью пользователя, используемой для запуска Jenkins.

Может быть настроен на использование частного репозитория для сборки, но звучит так, как будто вы его не настроили.

Когда я кладу сценарий Дженкинс в т.е. запуска/USR/BIN/Java -jar .war, он скачал все зависимости моих проектов снова при ее создании, хотя я построил сконфигурированной проект 5 раз, прежде чем положить сценарий при запуске

Из этого кажется, что ваш скрипт запуска может работать как другой пользователь? Возможно, пользователь root?

Запуск Jenkins как root приведет к использованию другого локального репозитория, то есть /root/.m2/repository. Вы можете проверить, есть ли там репозиторий Maven, и если да, убедитесь, что Jenkins никогда не запускается как root.

1

Предлагаю использовать configuration file provider plugin для управления настройками Maven.

Плагин позволяет управлять конфигурационными файлами через интерфейс Jenkins и легко выбирается для каждой сборки проекта Maven.

7

Фактически это зависит от конфигурации каждого отдельного проекта maven. По умолчанию Jenkins будет использовать локальный репозиторий JENKINS_HOME_DIR/.m2/repository, если вы установите maven, установив флажок «Установить автоматически», иначе он будет использовать локальный /home/username/.m2/repository.

однако вы можете изменить это местоположение по умолчанию, установив файл settings.xml в параметрах ~/.m2 /.XML

    OR 

для Globle использования вы можете изменить его с jenkins_home_dir/конф

, например, если установить Maven на клеща Установите флажок Автоматический

Step1. Выберите Установка Maven для конкретного проекта в Дженкинс дома каталог

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

Step 2. изменение localRepository в settings.xml

Иерархия для settings.xml - это пользовательский каталог .m2, и если он не сможет найти его, он попытается найти его в {maven home}/conf/settings.xml.

1

На Unix использования системы find инструмент,

[[email protected] ~]# sudo find/-name ".m2" 
/root/.m2 
/var/lib/jenkins/.m2 

Ее под /var/lib/jenkins на RHEL (JENKINS_HOME_DIR должен быть /var/lib/jenkins)

[[email protected] ~]# 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 
2

В Windows, при установке и запуске в качестве службы Windows, это может быть по умолчанию ниже.

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

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

+0

Вау! Как вы это узнали? – kylexy1357

0

В Ubuntu, я нашел расположение хранилища под /var/lib/jenkins/.m2 И я просто удалил, что один и вместо этого сделал ссылку на мой существующий репозиторий Maven. ..

Смежные вопросы