我们需要为基于Maven的项目设置Jenkins构建任务。我在我们的Jenkins中心创建了这样一个任务,并且它成功运行。
现在,我需要对构建基础架构进行一些严格的重构,为了做到这一点,我需要尝试使用Jenkins。我不想超载我们的中央Jenkins,所以我已经在我的机器上本地安装了Jenkins。它与中央Jenkins - 1.617的版本相同。区别在于Jenkins中央运行在Linux机器上,我有Windows 8.我已经设置我的本地Jenkins使用相同的Maven安装(v.3.2.5),我用来运行从控制台构建本地Maven。
问题在于构建不会通过。我收到的错误如下:
[致命]不可解析的父POM:找不到工件aaa.ssdd:ssdd-parent:pom:1.0-SNAPSHOT和' parent.relativePath'指向错误的本地POM @第14行,第10列
I-net上的所有帖子都暗示我明确指出父相对路径,我不想这样做,因为pom.xml文件很好(记住 - 构建通过中央Jenkins 。)即使我更改了pom.xmls并解决了这些错误,我也会遇到另一个错误:
错误:由于代码中的错误导致处理失败。请将此报告给jenkinsci-users@googlegroups.com java.lang.IllegalStateException:C:\ Program Files(x86)\ Jenkins \ jobs \ SSDD \ modules \ aaa.ssdd $ SSDD \ builds \ 53已经存在;将不会与SSDD / aaa.ssdd:SSDD#53重叠 在hudson.model.RunMap.put(RunMap.java:189) 在jenkins.model.lazy.LazyBuildMixIn.newBuild(LazyBuildMixIn.java:178) 在hudson.model.AbstractProject.newBuild(AbstractProject.java:1017) 在hudson.maven.MavenModule.newBuild(MavenModule.java:392) 在hudson.maven.MavenModuleSetBuild $ MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:700) 在hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:537) 在hudson.model.Run.execute(Run.java:1744) 在hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) 在hudson.model.ResourceController.execute(ResourceController.java:98) 在hudson.model.Executor.run(Executor.java:374)
像我说的那样 - 中央詹金斯没有发生这种情况。为什么它与中央版本的行为如此不同? Windows特定的东西是否可能导致问题?有没有人知道,最终的原因是什么?如何在不更改pom.xml文件的情况下解决错误?
答案 0 :(得分:0)
它似乎是平台无关的问题 - 在Mac OS上它会产生相同的错误。
解决方案是降级到较旧版本的Jenkins - 1.575。似乎在此之后,如果Jenkins升级到v.6.6xx,它可以正常工作。这就是为什么它适用于我们的中央Jenkins,即v.1.617。现在,我打算坚持使用v.1.575。使用Maven v.3.1.1和v.3.2.5对其进行测试 - 工作正常。