GitFlow:正确测试发布分支&;主人
我一直在寻找一个好的git分支模型,发现它非常适合我们的开发环境。然而,一个悬而未决的问题是如何以及在哪里测试我们的发布GitFlow:正确测试发布分支&;主人,git,github,merge,git-flow,Git,Github,Merge,Git Flow,我一直在寻找一个好的git分支模型,发现它非常适合我们的开发环境。然而,一个悬而未决的问题是如何以及在哪里测试我们的发布 发布分支听起来像是在发布之前运行所有回归测试的地方。然而,发布分支随后被合并到master中,并被标记,这就是最终投入生产的部分。如果发布分支与主分支之间存在合并冲突,会发生什么情况?听起来master需要完全重新测试(这可能会很昂贵)。即使没有冲突,简单地将合并推到生产环境中是否安全,或者是否需要运行额外的基本冒烟测试?我认为测试应该在发布的每个阶段进行。创建一个轻松的发布
发布分支听起来像是在发布之前运行所有回归测试的地方。然而,发布分支随后被合并到master中,并被标记,这就是最终投入生产的部分。如果发布分支与主分支之间存在合并冲突,会发生什么情况?听起来master需要完全重新测试(这可能会很昂贵)。即使没有冲突,简单地将合并推到生产环境中是否安全,或者是否需要运行额外的基本冒烟测试?我认为测试应该在发布的每个阶段进行。创建一个轻松的发布测试子集,您可以直接在生产环境中运行,至少可以测试基本功能。当然,不要针对生产加载/性能测试 根据您的产品是什么,以及您如何推出它,实际测试可能会发生变化。我们已经有了一些生产服务器,我们在其中部署了新的发布代码。这些服务器经过彻底测试,但我们的客户无法访问。当这些服务器签出时,我们将它们与其他生产服务器交换。重复部署和测试。在一切都通过之后,所有生产服务器都被放回面向客户的服务器的现场池中
如果出现一些故障,我们将以大致相同的方式回滚。仔细地跟踪图表后,我确信在合并到主控时不应该有任何冲突(即如果严格遵循流程)。原因在于时间线:
谢谢@SWPhantom的回答。您的答案对于web应用程序是有意义的,并且对于您的用例是正确的。我应该更清楚地回答我的问题。我正在开发一个移动应用程序,所以我们实际上没有单独的dev/qa/perf/prod环境。此外,问题更多的是,在测试和准备为生产版本构建时,应该如何在git流中处理发布和主分支。您的发布分支持续存在吗?检查GitFlow:基本上,如果您遵循这一点,您不需要持续存在发布分支。但这取决于你读一百遍。。这是有道理的。我正在尝试将其应用于自动发布,为此,您通常需要一些我从中构建的连续分支,因此我问:)我明白了。保留发布分支确实没有坏处。。这可能是解决我目前正在处理的问题的办法。。从最新批准的版本QA build on合并到发布分支。。这将触发UAT的新构建。。然后,它可以在那里稳定下来。。最后,当准备好合并o master时,它将触发另一个构建并部署到生产。。