繁体   English   中英

GitFlow:正确测试发行分支和硕士

[英]GitFlow: Properly Testing Release Branches & Master

我一直在git中寻找一个好的分支模型,发现GitFlow非常适合我们的开发环境。 但是,一个悬而未决的问题是如何以及在何处测试我们的版本。

发布分支听起来像是在发布之前运行所有回归测试的地方。 然而,发布分支然后合并到master,tagged,这就是最终生产的东西。 如果从发布分支到主服务器之间存在合并冲突,会发生什么? 听起来像主人需要完全重新测试(这可能是昂贵的)。 即使没有冲突,简单地将合并推送到生产中是否安全,或者是否需要运行额外的基本烟雾测试?

仔细追查后GitFlow图,我相信自己,融入主站时永远不应该有任何冲突(也就是当这个过程严格遵循)。 原因是因为时间表:

  1. 开发分支是由Master创建的
  2. 功能在Develop分支上提交
  3. 创建发布分支(包括目前为止所有来自Develop的提交)
  4. 错误在Release分支中修复
  5. 准备好后,Release分支将合并到Master中
  6. Master必须包含Develop + Release分支的所有提交。 冲突不应该发生,因为在创建开发分支之后没有对Master进行任何操作(这是冲突发生的唯一方式)。 此外,此时的代码应与Release分支上的最新提交相同,这意味着无需进行其他测试。

我简化了GitFlow图来说服自己:

在此输入图像描述

我认为应该在发布的每个阶段进行测试。 创建一个轻量级的发布测试,您可以直接针对生产运行,以至少测试基本功能。 当然,不要对生产进行加载/性能测试。

根据您的产品以及如何推出产品,实际测试可能会发生变化。 我们有一些生产服务器,我们部署了新的发布代码。 这些服务器经过彻底测试,但我们的客户无法访问。 当这些签出时,我们将其与其他生产服务器交换出来。 重复部署和测试。 一切都过后,所有生产服务器都会重新投入到面向客户的服务器的实时池中。

如果发生某些故障,我们会以同样的方式回滚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM