首页 文章

在Jenkins Build Maven -SNAPSHOT项目

提问于
浏览
0

我相信答案会非常简单,但我还没弄清楚如何做到这一点 .

The problem is:

我有一个第三方项目,正在从github克隆,所以我不会在那里改变任何东西,但是我需要这个项目用于我的MUnit工作 .

该项目是mule-interceptor-module,它有一个版本3.4-M4-SNAPSHOT .

我在Jenkins中创建了一个版本,我希望在它之后得到 mule-interceptor-module-3.4-M4-SNAPSHOT.jar ,但是 Jenkins REMOVES -SNAPSHOT from the jar name and updates pom.xml with new version: 3.4-M4 instead of 3.4-M4-SNAPSHOT . 该项目在其依赖项中使用此项目(munit)具有3.4-M4-SNAPSHOT . 所以我需要版本中的SNAPSHOT .

What I tried to do:

我尝试在服务器上构建相同的项目,我的Jenkins安装在该服务器上,只使用mvn clean install,我得到了mule-interceptor-module-3.4-M4-SNAPSHOT.jar .

The question is:

如何调整Jenkins以便我最终可以进行SNAPSHOT构建?

My job setup:

Jenkins Console output Jenkins Console output wirh -X

The solution:

在Jenkins / Configuration / Build / Advanced中

  • 检入使用私有Maven存储库

  • 选择策略:本地工作区

  • 通过 rm -R * 删除/ workspace文件夹中的所有内容

@Grove:非常感谢你的支持!

3 回答

  • 1

    我可以在日志中看到: Your branch is ahead of 'origin/3.4.x' by 1 commit.Building Mule Interceptor Module 3.4-M4 . 可能是你的版本在pom中有3.4-M4作为版本吗?

  • 1

    解决方案:

    在Jenkins / Configuration / Build / Advanced中

    • 检入使用私有Maven存储库

    • 选择策略:本地工作区

    • 通过rm -R *删除/ workspace文件夹中的所有内容

  • 1

    为什么使用来自第三方的SNAPSHOT依赖?标准是使用RELEASE版本,对吧?

    Answer 无论如何,使用私有maven存储库为您工作的事实只证明了一件事,即服务器maven存储库中的negative cache导致问题 . 一年多前从我这里看到这个Q and A,当完全相同的解决方案对我有用时,albiet针对不同的问题我将其标记为答案 . 只是发现几个月后,我没有找到问题的根本原因,只是发现了一个工作量 .

    要测试此理论,请设置 <updatepolicy> true <updatepolicy>use maven -U clean install . 它将与您使用私人仓库的解决方案具有相同的效果 .

相关问题