我试图在上面显示的建议问题中找到这个问题的答案,并通过谷歌,但我找不到解决方案 .
我有一个maven项目,在构建时,激活正在构建的平台的正确配置文件 .
Windows配置文件,下载源代码并使用分类器将Windows二进制文件构建到工件中:
- myproj-version-SNAPSHOT-w64.jar
linux配置文件,下载源代码并使用分类器将Linux二进制文件构建到工件中:
- myproj-version-SNAPSHOT-lx86_64.jar
它还构建了java代码工件:
- myproj-version-SNAPSHOT.jar
我已将其设置为Jenkins 2中的多配置作业,其中轴仅包含Linux和Windows节点的标签 . 这可以正确构建,并将它们部署到Nexus中 .
但是,Release Maven Project选项不能作为此选项的选项,我不确定如何发布二进制文件 . 有了Maven Jenkins的工作,它显然可以选择 .
如何在Jenkins 2中设置我的多配置作业,以进行发布 . 我想它需要做以下事情:
在主节点上:
-
清理工作区然后拉出git存储库
-
将POM更新到发布版本(strip -SNAPSHOT)
-
推送更改并标记发布(myproj-version)
-
触发轴节点上的构建
在Windows节点上:
-
清理工作区然后拉出git存储库 - 这将是标记的发布版本
-
构建并部署1个工件
在Linux节点上:
-
清理工作区然后拉出git存储库 - 这将是标记的发布版本
-
构建并部署2个工件
在主节点上:
-
更新下一个开发版本的POM(版本1并添加-SNAPSHOT)
-
将上述更改推送到存储库
Update :现在Nexus也存在问题 . Windows节点首先完成,并部署其1个工件 . linux节点完成,并部署其2个工件 . 在短时间内,所有3个工件(共享相同的组和工件ID)都存在 . 然后删除Windows工件 .
Update 2 :Nexus删除Windows工件的原因是maven发布的maven-metadata.xml与工件 . 从windows发布的那个包含1个工件和pom . linux包含其他2个工件,并覆盖第一个工件 . Nexus因此清除了它认为不再构建/需要的SNAPSHOT工件 .
摘要
现在有两个问题:
-
如何合并来自2个节点的maven-metadata.xml
-
如何发布工件
谢谢,