0

基本问题

我希望能够使用 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 或推送最终版本有关,并且不处理这个中间过程(可以理解)。

是否有这样做的通用流程?谷歌先生没有为我找到一个,但我可能没有问他正确的问题。

4

1 回答 1

1

我不确定你有什么确切的问题。如果您在谈论版本控制,我认为这是通常的方法。您只需增加版本并添加一个修饰符,maven 将选择它直到供应商版本发布。因此,您将供应商的代码 1.0 分支,将其版本修改为 1.1-MYCOMPANY.1 并开发它以递增最后一个数字。您还向供应商发布合并请求。然后供应商准备好了,他发布了 1.1 并取代了你的限定符。如果您发现供应商仍然缺少某些东西,您将发布下一个版本 1.2-MYCOMPANY.1

于 2013-08-02T18:16:48.373 回答