由12位开发人员组成的团队,您能帮我确定使用mercurial进行源代码管理和团队城市构建服务器的产品构建和部署产品的流程和工作流程吗?具有选择性功能部署和持续集成的Mercurial工作流程
我们有一个跟踪问题和改进请求的系统。其中大部分都是一些开发人员在一两天至一周的时间内完成的小bug和增强功能。我想要完成的是让业务人员和IT管理人员就开发人员工作的票证优先协商。完成后,这些更改将被提交并推送到中央存储库并在票务系统中标记为开发完成。那么qa和业务团队应该能够从被标记为开发完整的票据中进行选择,并且根据优先级,qa的必要数量和qa资源可用性,在我们的产品中包含下一个版本的票据。
我原本以为我可以通过让开发人员对每个票据的新命名分支提交更改来实现此目的。有了这个,每个选定票证的分支可以合并到默认值,并且可以执行构建和部署到qa(并最终生产)。
与此相关的问题是持续集成。在我看来,我只能静态配置teamcity来构建我们中央存储库中的特定分支。也许这是我们所在团队城市版本的限制。目前使用5.0.3,但升级是一个选项(和我们可能会做的任何事情)。也许有一些棘手的方法使它建立在提示之上,因此触发构建的提交的分支的头部发生了?如果开发人员正在为所有事情提交并推动不同的分支机构,并且这些分支机构在一段时间后才会合并到默认分支机构中 - 足够晚了,qa现在正在等待这些更改以进行构建,并且如果构建体损坏,则成本会更高 - 我们没有一个特定的分支来进行持续集成构建。或许我会让这个过于复杂和/或忽略一些简单的东西。帮助表示赞赏。有没有一种方法可以实现这种版本的选择性集成,并且在开发人员推动时仍然可以持续集成?
命名分支并不适合短期努力,如错误和功能。他们更好地保留永久的概念,如“稳定”和“实验”,标签用于发布。阅读http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ – 2011-03-02 06:20:51