首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将跨平台的工件版本与maven发布过程同步

将跨平台的工件版本与maven发布过程同步
EN

Stack Overflow用户
提问于 2012-04-05 12:12:15
回答 3查看 554关注 0票数 6

我有一个应该为几个目标平台构建的工件:

  • Linux x86
  • Windows x86
  • ARM11

不幸的是,由于缺乏交叉编译器,不可能一次性创建工件的所有版本。

换句话说,目标是在存储库中有这样的东西

  • artifact-1.0.0-linux.zip
  • artifact-1.0.0-windows.zip
  • artifact-1.0.0-arm11.zip
  • artifact-1.0.1-linux.zip
  • artifact-1.0.1-windows.zip
  • artifact-1.0.1-arm11.zip
  • ..。

请注意,版本是同步的。如何做到这一点?

问题是,每次构建之后,发布过程都会升级pom.xml的版本。因此,通过在各种平台上连续构建,我可以实现

  • artifact-1.0.0-linux.zip
  • artifact-1.0.1-windows.zip
  • artifact-1.0.2-arm11.zip
  • artifact-1.0.3-linux.zip
  • artifact-1.0.4-windows.zip
  • artifact-1.0.5-arm11.zip
  • ..。

但这不是我要找的。

我可以

  1. 在Linux上运行 mvn发行版:准备发布:执行-DpushChanges=false ( pushChanges设置为false版本不会增加SCM中的版本号)
  2. 然后在Windows上运行 mvn发行版:准备发布:执行 (这将增加版本号)

但是,以适当的顺序触发各种平台上的发布过程的责任在于我。有什么办法能帮我吗?

你有什么意见建议?

谢谢

PS。请注意,这不是一个关于如何组织成模块的问题。它是关于如何在多个平台上同步单个工件的发布过程。

EN

回答 3

Stack Overflow用户

发布于 2012-08-01 05:10:55

你找到解决办法了吗?很高兴知道我不是唯一一个和Maven吵架的人:-)

不管怎样,

是否允许将发布的版本部署到nexus?我在想,你可以这么做:

做一个"mvn发行版:准备发布:执行“从一个窗口机器-这应该得到工件-1.0.1-windows.zip到nexus。

2-从源代码管理检查工件-1.0.1标记

3-做一个来自linux和arm11的"mvn部署“(不管是什么:P) --这也会让-linux.zip和-arm11.zip进入nexus。

不过,我相信根据nexus是如何配置的,它不会让您用相同的GAV重新部署任何东西(即使分类器是不同的)

票数 2
EN

Stack Overflow用户

发布于 2012-04-05 12:45:28

正如我所看到的,您使用linuxwindowsarm11等分类器(工件的文件名后缀)来区分针对特定平台的各种工件版本。因此,如果您创建由Maven管理的多模块项目,其中模块将是具有相同groupId、相同artifactId、相同version (可能是从其共同父级继承的)的工件,但具有不同的classifier,那么您将得到您想要的东西。在这种情况下,您总是发布您的多模块POM (通常它也是其模块的共同父级)同时发布所有模块。假设相同版本的所有模块-策略(在这里似乎非常合适),您基本上可以执行:

mvn release:prepare release:perform -DautoVersionSubmodules

仅此而已。您将获得artifact-1.0.0-linux.zipartifact-1.0.0-windows.zipartifact-1.0.0-arm11.zip工件的发布。下一个开发版本将被设置为1.0.1-SNAPSHOT,用于所有模块(通过从父模块继承)。

票数 0
EN

Stack Overflow用户

发布于 2013-04-23 22:07:10

你帮我解答了你的问题.我不知道pushChanges=false的选择。

使用詹金斯,您可以在执行maven发布的每个平台上使用“触发器远程构建(例如,从脚本)”功能来设置一个作业。如果需要,可以使用参数化生成来选择要构建的版本(如果使用该版本,则需要参数化触发插件在其他平台上触发构建)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10028361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档