关于为php web app和mercurial设置开发工作流的建议
我正在组建我们(相对较小)的编程团队,与源代码管理一起工作。直到现在,还没有控制,事情一直。。。随意的 该团队由6名开发人员组成,其中2名也是QA人员。 我已经在谷歌上搜索了很多关于这个主题的东西,这是压倒性的! 到目前为止,我唯一的决定是我们将使用mercurial 背景:这是一个用PHP开发的web应用程序。不断开发新功能(这意味着同样不断地修复bug:-P) 我们从外包所有的web开发开始,这意味着我们的生产代码由另一家公司托管。因此,我们可以使用Mercurial在我们的内部网络中进行开发和测试,但当它准备上线时,我们需要将文件ftp到那边的公司。(傻?就是这样……他们也为我们做搜索引擎优化和其他工作,所以管理层不会放弃他们) 以下是工作流的要求:关于为php web app和mercurial设置开发工作流的建议,mercurial,Mercurial,我正在组建我们(相对较小)的编程团队,与源代码管理一起工作。直到现在,还没有控制,事情一直。。。随意的 该团队由6名开发人员组成,其中2名也是QA人员。 我已经在谷歌上搜索了很多关于这个主题的东西,这是压倒性的! 到目前为止,我唯一的决定是我们将使用mercurial 背景:这是一个用PHP开发的web应用程序。不断开发新功能(这意味着同样不断地修复bug:-P) 我们从外包所有的web开发开始,这意味着我们的生产代码由另一家公司托管。因此,我们可以使用Mercurial在我们的内部网络中进行开
- 多个程序员可能正在一起开发新功能,或者 分开
- 同时,程序员可能会被叫去修复一个bug, 然后回到他正在开发的任何功能
- 如果一个bug被修复了,我们需要一个QA人员进行测试,然后将其提交给 尽快生产
- 如果它是一个新特性,它可以进入一个测试环境,QA将 彻底测试,然后就可以发货了
- 每个程序员都有自己的存储库
- 有一个中央发展报告
- 有一个QA回购协议
提前感谢您前来救援 首先祝贺您决定使用某种版本控制。早期可能会有一些痛苦,但从长远来看是值得的 我最初的想法是,开发方面的事情听起来不错。我不认为需要一台中央服务器,但许多人使用它时没有问题 我认为问题开始蔓延到QA。你说: QA人员将从dev拉至QA repo。由于许多人都在推动开发,我们希望一次只测试一个新特性,MrQA可以选择应用哪些变更集 这意味着QA人员是从开发树中挑选的,所以我猜他会使用类似的东西。在这种情况下,QA有一个在开发生态系统中任何地方都不存在的分支。当开发人员需要修复一个bug时,他是在他的开发树中修复它,还是在QA分支之外修复它?如果他在QA分支上修复它(bug就在那里),它如何回到开发人员那里?我可以看到这里的问题,开发人员和质量保证人员永远存在分歧 就我个人而言,我建议阅读。基本上,QA将测试的每个版本都有一个命名的分支。QA的任何错误修复都会在该分支上进行,并且可以将其合并回开发分支。没有樱桃采摘作为正常流程的一部分,因为我预计这将很难长期管理 还有其他工作流程(可能和使用mercurial;-)的人一样多),但这是一个很好的起点,您可以根据需要对其进行调整。跟进Paul的注释
- 对于由6名成员组成的团队,我也认为您可以使用或不使用“中央服务器”:在最简单的形式下,团队可以在需要时使用p2p拉取,并且某种中央服务器将自动显示为(可能是)回购某些QA人员
- 考虑“岸上”(阅读Steve Losh作为起点)您选择并将在流程中遵循的分支模型(命名分支/导出并扩展为“git workflow”?/,单独回购)
- QA端的部分回购可能成为额外麻烦的来源(再次参见Paul的文本)。也许完整的克隆和强大的沟通(团队很小)“针对默认测试分支X”将是更干净的方式