我有一个Jenkins Master(在小型Linux盒子上运行)和一个Jenkins从属(在“正确” XP计算机上运行)。

我已经配置了两个吉布,以便在Windows XP从属上运行。

不幸的是,每次在该从属上运行构建时,构建都会因以下错误而失败:

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

我知道此错误是由于包含这些工件的存储库的不良定义,因为使用的存储库是在settings.xml中定义的。因此,我的问题很简单:如何定义jenkins从属使用哪些settings.xml文件?

有帮助吗?

解决方案 2

像往常一样,解决方案比我想的要简单。

Jenkins从从系统用户配置为运行。结果,要使用我的设置。xml,我要做的就是更改其相关用户,而问题消失了!

其他提示

Maven使用全局设置和用户设置文件。如果用户设置文件存在,则覆盖全局。

在全球 %M2_HOME%\conf\, ,当用户一个在 %HOME%\.m2\. 。这里 %HOME% 表示任何用户运行Jenkins Slave的主目录。

因此,最简单的解决方案,假设您的情况可能是可能的,就是仅将正确的设置复制到 %HOME%\.m2\ 詹金斯从奴隶机上的目录。

另外,您可以在MVN命令行上指定自定义设置.xml文件 --settings 选项,因此您可以将文件放在已知的位置(例如 C:\)然后告诉詹金斯将设置传递给Maven,就像 --settings C:\settings.xml.

顺便说一句,创建一个新的Windows用户来运行Jenkins从属通常是很有用的,这样您就可以轻松地告诉它在哪里可以搜索配置文件。

对我来说,这是用-duser.home变量使用的。

我确实让这个工作了!但是,我没有将其输入Maven_opts,而是在Configure Jenkins屏幕中以JVM级别的变量输入到Web服务器。

对我来说,我在Wintell上使用Glassfish,而不是Tomcat。 Glassfish作为Windows服务开始。基本输入:

JVM变量名称:user.home jvm value:/data/maven-2.2.2/jenkins

然后,在此目录中/data/maven-2.2/jenkins中,请确保您有一个有效settings.xml的副本,并正确输入了代理信息。这样做可以使我能够隔离一个单独的设置。xml我的jenkins服务构建v。互动登录。

埃里克

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top