我有一个工件,应该为几个目标平台构建:
不幸的是,由于缺乏交叉编译器,不可能一次性创建工件的所有版本。
换句话说,目标是在存储库中有这样的内容
请注意,这些版本是同步的。如何做到这一点?
问题是发布过程升级了pom的版本。每次生成后使用xml。因此,通过在各种平台上连续构建,我可以实现
但这不是我想要的。
我可以
>
mvn发布:准备发布:执行-DpushChanges=false
(pushChanges设置为false release不会增加SCM中的版本号)
然后在Windows上运行
mvn发布:准备发布:执行
(这将增加版本号)
但是,在不同平台上以适当的顺序触发发布过程的责任在于我。maven有什么方法可以帮助我做到这一点吗?
你有什么建议吗?
谢谢
注意,这不是一个关于如何组织成模块的问题。它是关于如何在多个平台上同步单个工件的发布过程。
你帮我解决了你的问题...我不知道pushChange=false选项。
使用Jenkins,您可以在每个平台上设置一个作业,使用“远程触发构建(例如,从脚本)”功能以系列方式执行maven发布。如果需要,可以使用参数化构建来选择要构建的版本(如果使用该版本,则需要参数化触发器插件来触发其他平台上的构建)。
如我所见,您使用分类器(工件的文件名后缀),如linux、windows或arm11,来区分各种工件的版本,这些版本是针对特定平台的。因此,如果您创建由Maven管理的多模块项目,其中模块将是具有相同的组ID、相同的工件ID、相同的版本(可能继承自它们的共同父级),但不同的分类器的工件,您将得到您想要的。在这种情况下,您总是发布多模块POM(通常它也是其模块的常见父级),以便同时发布所有模块。假设所有模块策略的版本相同(此处似乎非常适合),您基本上可以执行:
mvn发布:准备发布:执行-DautoVersionSub模块
就这样。您将获得发布的artifact-1.0.0-linux.zip
、artifact-1.0.0-windows.zip
、artifact-1.0.0-arm11.zip
工件。下一个开发版本将为所有模块设置为1.0.1-SNAPSHOT
(通过从父模块继承)。
你找到解决办法了吗?很高兴知道我不是唯一一个和马文打架的人:-)
无论如何
你可以将正式版本部署到nexus吗?我在想,你可以这样做:
1-从windows机器上执行“mvn发布:准备发布:执行”-这应该得到artifact-1.0.1-windows。打开nexus。
2-从源代码管理签出artifact-1.0.1标记
3-从linux和arm11做一个“mvn部署”(不管是什么: P)-这也应该让-linux.zip和-arm11.zip进入nexus。
不过,我相信,根据nexus的配置方式,它不会让您用相同的GAV重新部署任何内容(即使分类器不同)
发布到 Web 平台 安装配置原生开发环境 打包发布原生平台 原生平台 JavaScript 调试 发布到支付宝小游戏 发布到微信小游戏 微信小游戏开放数据域 启用微信小游戏引擎插件 接入微信 PC 小游戏 发布到趣头条小游戏 发布到百度小游戏 百度小游戏开放数据域 发布到 Facebook Instant Games 发布到 Google Play Instant 发布到 OPPO 小游戏 发布
如果Maven大师社区可以帮助我完成以下任务,那就太好了。 我想以一种发布过程以批处理模式运行的方式(不需要从控制台询问任何问题)自动化哈德逊中Maven模块的发布过程。目前我使用常见步骤发布:准备 在准备步骤中: 对于与当前模块和父模块的匹配的所有依赖项,请将替换为正式版本(例如)。 发布后的某些时间: 对于与当前模块和父模块的组ID匹配的所有依赖项,请将发布版本替换为快照版本(例如,版本:使用
我正在使用maven发布插件进行发布管理。我运行mvn release:prepare on release分支。这样做的结果是,我有一个带有发布版本的git标记,以及带有下一个开发快照版本的发布分支。 现在,我想改变这个过程,以便发布分支总是有正式版本(没有SNAPSHOT版本的碰撞)。 这样做的原因是在生成构建时,我希望发布分支和发布标签具有相同的HEAD提交。 如果我可以跳过碰撞版本的最后一
所有POM都有作为它们的版本,也在dependencies标签下。它通过上传到Nexus repo。 我们最近开始做。因此,所有20个父POM现在都是和版本,因为它们都位于nexus中。所有标记现在都指向 开发人员不想指向发布版本。他们需要来自同行的edge开发版本,不管它是否不稳定。 SCM只希望指向版本,因为他必须每周执行一次,但由于指向快照版本而失败。 现在我知道了版本插件,但问题是,我应该
多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。
我们在maven发行版和maven版本插件上有一个问题。在詹金斯,我们想做释放自动按下一个按钮。为了消除快照依赖关系,我们希望使用maven versions插件。假设我们有两个项目A(最新版本0.0.1,最新快照0.0.2-快照)和项目B,它们依赖于Projecta-0.0.2-快照,我们希望发布项目B,我们如何将项目Bs依赖项升级到最新可用的发布版本?maven versions插件目标“us