我希望能够使用Jenkins在本地使用maven编译一些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或推送最终版本有关,并且不涉及这个中间过程(可以理解)。
这样做有共同的过程吗?谷歌先生没有为我找到一个,但我可能不会问他正确的问题。
答案 0 :(得分:1)
我不确定你有什么确切的问题。如果你在谈论版本控制,我认为这是通常的做法。您只需增加版本并添加修饰符,maven将选择它直到供应商版本发布。因此,您分支供应商的代码1.0,您将其版本修改为1.1-MYCOMPANY.1并开发它递增最后一个数字。您还要将合并请求发布到供应商。然后供应商准备就绪,他发布了1.1,它取代了你的资格赛。如果您发现供应商仍然缺少某些内容,则会发送下一个版本1.2-MYCOMPANY.1