Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 吉特:什么';A/B测试的DEV-QA-PROD周期的最佳实践是什么?_Git - Fatal编程技术网

Git 吉特:什么';A/B测试的DEV-QA-PROD周期的最佳实践是什么?

Git 吉特:什么';A/B测试的DEV-QA-PROD周期的最佳实践是什么?,git,Git,我们刚搬到Git。 我们有一个拥有数百万用户的实时产品。目前,我们从master为每个特性提供分支,当工作完成后,我们将其发布给QA进行测试。一旦获得批准,它将以10%的速度进行A/B测试,而不是以PROD中当前运行的版本(同样为10%)进行测试。 如果一切顺利,我们将以50%和100%的价格发布 问题始于: 在版本达到100%之前,需要几天时间。同时,我们也在努力 不同的功能和他们都从主分支,所以当我们需要的时候 要发布A/B测试的下一个版本,基本版本为 不同(主版本不包括最新版本)。我们可以

我们刚搬到Git。 我们有一个拥有数百万用户的实时产品。目前,我们从master为每个特性提供分支,当工作完成后,我们将其发布给QA进行测试。一旦获得批准,它将以10%的速度进行A/B测试,而不是以PROD中当前运行的版本(同样为10%)进行测试。 如果一切顺利,我们将以50%和100%的价格发布

问题始于:

  • 在版本达到100%之前,需要几天时间。同时,我们也在努力 不同的功能和他们都从主分支,所以当我们需要的时候 要发布A/B测试的下一个版本,基本版本为 不同(主版本不包括最新版本)。我们可以 在发布给QA之前,请始终拉取最新版本,但我们不想这样做 等待版本100%运行,这需要时间,现在QA将 再次测试所有内容,因为它是另一个版本
  • 如果我们决定从最新版本而不是从 主版本-有时最新版本可能会被拒绝和删除 我们需要丢失所有最新版本并返回 到原点
  • 我想在等待A/B测试结果时,这个周期有一些很好的实践,我很想了解它们


    谢谢。

    看看这个模式:

    您正在寻找“发布分支”——在项目转到QA时创建的分支。这将创建一个没有添加新功能的地方,只修复bug

    我在过去两年的项目中使用了这个模式,效果非常好

    所有开发都在开发分支中—新功能是基于开发的分支。当您决定发布新版本的软件时,您将功能分支合并到开发中,并创建新的分支以供发布。这个发布分支是修复bug的地方,开发在DEV分支中进行


    您可以定期将发布分支合并到开发分支,以将错误修复包括到开发版本中。当您决定发布新版本时,将发布分支合并到DEV以保留所有错误修复,并将发布分支合并到master。

    是的,我看到了这个模式,但仍然不知道这对我的情况有何帮助。假设我创建了DEV、release和feature分支。现在我已经完成了一个特性的开发并发布给QA。当发布获得批准时,我已经创建了一个新分支,其中不包括发布给QA的更改。只有当最新版本获得批准并100%交付给PROD时,才会在PROD中对其进行测试,因此必须包括以前的版本。这意味着所有已经完成的QA工作都毫无意义。。谢谢。回复更新了,希望这更清楚。请接受答案。