基本问题
我希望能够使用 Jenkins 在本地构建一些 Java github 代码的补丁分支,然后将其发布到 Artifactory(或一些等效的存储库管理器)。有这样做的模式吗?有没有办法让我构建一个项目并使用其他人的 POM 发布它,但修补版本号和 SCM 详细信息?
背景
我的公司有一个依赖于外部 Java 模块的 Java 项目。我们使用 Artifactory 来管理我们的依赖项来做到这一点。这里没问题。
但是,有时我们想要对外部 Java 模块(我们称之为“CoolFramework 1.0”并说它的源代码在 GitHub 上免费提供)进行代码更改(错误修复或增强)。所以我分叉存储库,更改代码并发出拉取请求。一段时间后,CoolFramework 项目的所有者决定发布该项目的 1.1 版,其中包含我的错误修复或闪亮的新功能。
我的问题与两者之间的时间有关。显然,我希望能够在我开发它们后立即在我的项目中进行错误修复或增强。我想将它们作为一种快照版本推送到 Artifactory(可能版本为 cool-framework-1.0-MYCOMPANY-1,其中末尾的“-1”代表 Jenkins 内部版本号或其他一些独特的参考)。但是,maven 所做的所有发布管理工作似乎都与发布 SNAPSHOT 或推送最终版本有关,并且不处理这个中间过程(可以理解)。
是否有这样做的通用流程?谷歌先生没有为我找到一个,但我可能没有问他正确的问题。