Вопрос

У меня есть мастер Дженкинса (работающий на маленькой коробке Linux) и раб Дженкинса (работая на «правильной» машине XP).

Я настроил оба для запуска всех JIB на Windows XP Slave.

К сожалению, каждый раз, когда на этом раб запускается сборка, сборка не выполняется из -за следующей ошибки:

ERROR: Ignore Problem expanding maven opts macros org.jenkinsci.plugins.tokenmacro.TokenMacro
Found mavenVersion 3.0.3 from file jar:file:/E:/java-ext/apache-maven-3.0.3/lib/maven-core-3.0.3.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties
Parsing POMs
ERROR: Echec à la lecture des POMs
hudson.util.IOException2: remote file operation failed: C:\hudson\workspace\Autocat at hudson.remoting.Channel@ee5bc4:ndx-PC-winXP
    at hudson.FilePath.act(FilePath.java:752)
    at hudson.FilePath.act(FilePath.java:738)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:817)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:617)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:429)
    at hudson.model.Run.run(Run.java:1374)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:467)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Failure to find fr.perigee.java:java-parent:pom:0.0.6 in http://tinkerpop.com/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of tinkerpop has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 3, column 10

Я знаю, что эта ошибка связана с плохим определением репозитория, содержащего эти артефакты, потому что используемый репозиторий определяется в настройках.xml. Итак, мой вопрос довольно прост: как я могу определить, какие файлы настройки. XML используется рабом Дженкинса?

Это было полезно?

Решение 2

Как всегда, решение было проще, чем я думал.

Jenkins Slave настроен для запуска системного пользователя. Как следствие, для того, чтобы использовать мои настройки.

Другие советы

Maven использует глобальные настройки и файл настроек пользователя. Если файл настройки пользователя существует, он переопределяет глобальный.

Глобальный находится в %M2_HOME%\conf\, пока пользователь находится в %HOME%\.m2\. Анкет Здесь %HOME% Означает домашний каталог любого пользователя, управляющего рабом Дженкинса.

Таким образом, самое простое решение, предполагаемая в вашей ситуации, состоит в том, чтобы просто скопировать правильные настройки. %HOME%\.m2\ Справочник на рабовладельческой машине Дженкинса.

В качестве альтернативы, вы можете указать пользовательский файл stences.xml в командной строке MVN, используя --settings вариант, чтобы вы могли поместить файл в известное место (например, C:\) а затем сказать Дженкинсу передать обстановку Мавен, что -то вроде --settings C:\settings.xml.

Кроме того, часто полезно создать нового пользователя Windows для запуска рабов Дженкинса, чтобы вы могли легко определить, где он будет искать файлы конфигурации.

Для меня то, что заставило это работать, использовало переменную -duser.home.

Я заставил это работать! Однако вместо того, чтобы вводить его в Maven_opts, на экранах Configure Jenkins я ввел его в качестве переменной уровня JVM для моего веб -сервера.

Для меня я использую Glassfish на Wintell, вместо Tomcat. Glassfish начинается как сервис Windows. В основном введено:

Имя переменной jvm: user.home jvm value: /data/maven-2.2/jenkins

Затем в этом каталоге/dadata/maven-2.2/jenkins убедитесь, что у вас есть копия действительных настройки. Это позволяет мне выделить отдельные настройки. Xml для моих служб Jenkins Builds v.

Эрик

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top