【问题标题】:Jenkins and Maven詹金斯和马文
【发布时间】:2016-07-08 15:04:51
【问题描述】:

我们正在尝试为我们的项目设置一个 devop。 在jenkins中配置maven的时候,注意到jkenkins并没有考虑settings.xml中配置的maven仓库。

我们从控制台中注意到以下语句:

Started by user anonymous
Building in workspace C:\apps\Jenkins\jobs\SCAVENGER\workspace
Updating http://localhost/project1/scavenger-new at revision '2016-03-21T13:49:29.211 -0700'
At revision 5



No changes for http://localhost/project1/scavenger-new since the previous build
Parsing POMs
Downloaded artifact https://maven-us.nuxeo.org/nexus/content/groups/public/io/dropwizard/dropwizard-bom/0.9.1/dropwizard-bom-0.9.1.pom
Downloaded artifact https://maven-us.nuxeo.org/nexus/content/groups/public/io/dropwizard/dropwizard-parent/0.9.1/dropwizard-parent-0.9.1.pom
Downloaded artifact https://maven-us.nuxeo.org/nexus/content/groups/public/org/glassfish/jersey/jersey-bom/2.22.1/jersey-bom-2.22.1.pom
Downloaded artifact https://maven-us.nuxeo.org/nexus/content/groups/public/net/java/jvnet-parent/4/jvnet-parent-4.pom
Established TCP socket on 52263
[workspace] $ C:\apps\Java\jdk1.7.0_79/bin/java -cp C:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-agent-1.7.jar;C:\apps\MAVEN\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar;C:\apps\MAVEN\apache-maven-3.2.5/conf/logging jenkins.maven3.agent.Maven32Main C:\apps\MAVEN\apache-maven-3.2.5 C:\apps\Jenkins\war\WEB-INF\lib\remoting-2.56.jar C:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-interceptor-1.7.jar C:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.7.jar 52263
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f C:\apps\Jenkins\jobs\SCAVENGER\workspace\pom.xml -Dmaven.repo.local=C:\apps\Jenkins\jobs\SCAVENGER\workspace\.repository install

我的构建失败,因为我们的本地存储库包含一些在 maven Central 中不可用的工件。

我们的 settings.xml 中的本地存储库配置:

<localRepository>C:\apps\MAVEN\repo\local</localRepository>

在 jenkins 中,我们将 maven 配置为

我们如何配置 Jenkins 以考虑本地存储库,而不是为其创建一个新存储库。非常感谢您对此的任何帮助。

【问题讨论】:

    标签: maven jenkins


    【解决方案1】:

    屏幕截图中的最后一个选项,本地 Maven 存储库,它是一个下拉列表,您将有其他条目:

    • 执行者本地
    • 工作区本地
    • 默认(指向从您的设置中选取的那个)

    在您的情况下,选择了工作区本地,这不是您真正想要的行为。 将其更改为默认值

    这也是 Jenkins 将以下内容传递给 maven 的原因:

    -Dmaven.repo.local=C:\apps\Jenkins\jobs\SCAVENGER\workspace\.repository
    

    根据上面选择的选项,存储库始终与相关作业的工作区相关。

    【讨论】:

    • 感谢您的快速回答。我们还有一个与 sonarqube 相关的问题。已安装并启动 sonarqube 也已通过 jenkins 进行了相同的配置。但似乎 sonarqube 没有显示任何与构建相关的数据。不知道我们哪里出错了。
    • @kallada 这太宽泛了,无法通过 cmets 进行故障排除 :) 我建议创建另一个问题并提供有关所涉及版本(sonarqube、插件)和错误详细信息的详细信息
    猜你喜欢
    • 2016-04-27
    • 2014-08-31
    • 2012-07-19
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2020-03-30
    相关资源
    最近更新 更多