gpt4 book ai didi

mercurial - 关于设置 php Web 应用程序和 Mercurial 开发工作流程的建议

转载 作者:行者123 更新时间:2023-12-02 23:16:16 26 4
gpt4 key购买 nike

我正在组建我们的(相对较小的)编程团队来使用源代码管理。到目前为止,还没有任何控制,事情一直......随意。

该团队由 6 名开发人员组成,其中 2 名同时也是 QA 人员。我已经在谷歌上搜索了很多这个主题,结果令人不知所措!到目前为止,我做出的唯一决定是我们将使用 Mercurial。

背景:这是一个用 PHP 开发的 Web 应用程序。不断开发新功能(这意味着同样不断修复错误:-P)我们一开始将所有网络开发外包,这意味着我们的生产代码由另一家公司托管。因此,我们可以使用 Mercurial 在我们的内部网络中进行开发和测试,但是当它准备好上线时,我们需要将文件通过 ftp 传输到另一家公司。 (愚蠢?事情就是这样……他们还为我们做搜索引擎优化和其他工作,所以管理层不会放弃他们)。

以下是工作流程的要求:

  • 多个程序员可能正在一起开发新功能,或者分别。
  • 同时,程序员可能会被叫去修复错误,然后回到他正在开发的任何功能
  • 如果错误已修复,我们希望 QA 人员进行测试,然后将其提交给尽快生产
  • 如果是新功能,可以进入 QA 进行的测试环境彻底测试后即可发货。

我的设置想法是......

  • 每个程序员都有自己的存储库
  • 有一个中央开发仓库
  • 有一个 QA 存储库

因此,程序员想要开始开发新功能。他创建了一个分支,完成了他的工作,他很高兴,并与他的主分支 merge 。现在他从开发中提取更改, merge ,推送到开发。

QA 人员将从开发人员拉取到 QA 存储库。由于许多人都可以插入开发,并且我们希望一次专注于测试一项新功能,因此 MrQA 可以选择要应用哪些变更集(或任何术语)。测试该功能 - 有效! ftp 到生产环境。然后可以开始测试开发人员的下一个功能。

对于错误 - 程序员将在其本地存储库中进行修复,直接发送给 QA,然后从 QA 上线。

但是...如果我们有两个 QA 人员同时在 QA 存储库中进行测试(测试两个新功能)怎么办? ftp 传输将发送所有文件...这意味着所有功能都需要准备好,我们需要等待它们都完成。这是我们当前问题的一部分,在我自己的修复程序上线之前等待其他开发人员进行测试...这就是我们想要源代码控制的原因...所以现在我很困惑!

好的,现在我需要一些建议。我读到了每个版本都有单独的分支。每个发布版本都有单独的分支。我真的不知道该怎么想......上面描述的工作流程可用吗?这对我们的小团队来说是不是太过分了?或者说,是不是太简单化了?因为我是向所有人推销版本控制的人,所以我不想设置一些在一周后就会失败的东西......

提前感谢您的救援!!

最佳答案

首先祝贺您决定进行某种版本控制。早期可能会有些痛苦,但从长远来看这是值得的。

我最初的想法是,开发方面的事情听起来不错。我不相信是否需要中央服务器,但许多人使用它没有问题。

我认为问题开始围绕 QA 蔓延。你说:

QA person will pull from dev to the QA repo. Since many people can be pushing to dev, and we want to focus on testing one new feature at a time, MrQA can choose which changesets to apply

这意味着 QA 人员正在从开发树中挑选,所以我假设他会使用类似 graft 的东西。 。在这种情况下,QA 有一个开发生态系统中不存在的分支。当开发人员需要修复错误时,他会在他的开发树中修复它,还是在 QA 分支之外修复它?如果他在 QA 分支上修复它(这就是错误所在),那么它如何返回给开发人员?我可以看到开发和 QA 永远存在分歧的问题。

我个人建议阅读how the mercurial project does it 。基本上,QA 将测试的每个版本都有一个命名分支。 QA 的任何错误修复都会在该分支上进行,并且可以将其 merge 回开发分支。正常流程中不会进行挑选,因为我预计从长远来看,管理会变得困难。

还有其他工作流程(可能与使用 Mercurial 的人一样多;-)),但这是一个很好的起点,您可以根据需要对其进行调整。

关于mercurial - 关于设置 php Web 应用程序和 Mercurial 开发工作流程的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com