我的团队正在使用功能分支来实现新功能,并不断将快照构建部署到远程回购中供我们的用户使用。因此'部署'实际上只意味着'分发到远程Maven仓库'。我们目前只为master分支运行持续集成构建,而不是基于以下原因:我们使用Maven构建项目并将JavaDoc和源代码与JAR一起分发。如何使用Maven连续构建和部署功能分支?
我的计划是现在的分类添加到每个功能分支建立并期待一个创建和部署像这样的文物时使用:
- 科:主
- 分类:无
工件:
foo-${version}
的.jar,foo-${version}-sources
的.jar,foo-${version}-javadoc.jar
科:功能-X
- 分类:我的功能
- 文物:
foo-${version}-feature.jar
,foo-${version}-sources-feature.jar
,foo-${version}-javadoc-feature.jar
我真的不关心的神器确切的命名,我只需要一个特性分支独立的主,来源及文物的JavaDoc 。事实证明,JavaDoc插件和源代码插件都不考虑配置的分类器,因此可以有效地覆盖为我的主版本创建的工件。
我真的不想改变artifactId,虽然这可能会解决问题。你如何处理特性分支并与Maven持续集成?
topoc分支的静态程度如何?你期望多久设定一份新工作,多久他们会被淘汰?你在CI服务器中用什么来帮助你?这是阻止我思考这样一个构建的事情之一。也许网守模型或开发人员本地CI服务器更适合。 – eckes 2012-07-10 12:52:32
你不应该使用分类器来反映分支的差异,因为你会对其他插件产生不好的副作用。 分类器应该是来源,javadocs等...... 为了您的需要,您应该更改artifactId或版本。 – Farid 2012-07-10 12:54:54
@eckes - 我们使用Bamboo,它支持根据分支名称上的正则表达式自动触发基于不同分支的构建作业。只要它检测到与该表达式匹配的分支,如果通常指示这样做,它几乎可以克隆构建作业。 – 2012-07-10 14:06:06