Git Flow流程以发送功能以进行测试,仅将特定功能部署到现场

问题描述 投票:3回答:2

我们正在努力进行Git Flow流程,并将功能部署到我们的Test and Live环境:

  • 我们希望所有准备好要进行测试的功能都进行[[组合并部署到测试环境中。
  • 我们只想将
  • 特定功能
  • 部署到实时环境中>>我们使用Git Flow的方式的问题:

  1. 开发人员A按照正常的gitflow流程从“开发”创建功能,并在新功能中进行开发。准备进行测试时,他将其功能合并到“ develop”分支中,然后将“ develop”分支部署到Test环境。

  2. 开发人员B随后执行相同的过程。这两个功能现在都合并到了'develop'分支中,并且两个更改都在测试环境中可见。
  3. 客户端在测试环境上进行测试,但仅批准开发人员A所做的更改才能发布到实时环境中。因此,他将从“ develop”创建一个新的“ release”分支。

    但是这个问题是,这将包括来自开发人员B的更改。

  4. 仅从开发人员A发布更改的最佳实践是什么?

当前,我们正在按照以下过程进行操作,该过程使我们可以将每个功能发布到Live服务器。但是必须有更好的方法吗?

我们遵循正常的Gitflow设置,但是我们还会创建一个名为“ qa”的新分支,它将从主“分支”创建。这是我们遵循的过程:

    拉最新的“开发”分支
  1. 使用gitflow从“开发”创建功能
  2. 在功能中进行所有开发
  3. 一旦准备好进行测试,
    • 拉最新的“ qa”分支
  4. 在“ qa”分支中时
  5. 将您的功能合并到“ qa”中
  6. 将“ qa”分支释放到QA服务器
  7. [如果需要修复任何错误,请从步骤3开始重复
  8. 如果客户端由于某种原因不再需要此功能,则需要将其删除
    • 删除功能
  9. 撤消对qa的合并
  10. 如果客户对测试感到满意,请选择您的功能,然后按照git flow流程完成该功能。 (这将合并为“开发”)
  11. 选择开发分支,并使用Gi​​tFlow创建新版本
  12. 使用Gitflow完成发行(或根据需要捆绑多个发行)
  13. 准备上线时
    • 确保您在master分支中
  14. [如果可能,请测试项目并进行更改
  15. 将所有需要的文件复制到实时服务器中
  • 但是通过创建此“ QA”分支,我们根本没有按预期使用开发分支,从而使其变得多余。
  • 我通读了这些答案,但对我们没有太大帮助,或者我不理解herehere

    我们在Git Flow流程中苦苦挣扎,并将功能部署到我们的测试和实时环境:我们希望将所有可用于测试的功能组合在一起并部署到测试环境中。 ...

    git version-control merge git-flow
    2个回答
    2
    投票
    [4年后,我将尝试回答我自己的问题。尽管@AlBlue的另一个答案是100%正确的做法,但这并不总是可行的。

    1
    投票
    修复您的流程,以使git合并与客户测试脱钩。如果他们想确定是否应该启用功能(并请求不存在功能),则它们需要成为讨论的一部分以进行合并以开发,或者应该使用功能开关来进行部署该功能,但能够将其关闭,以便在不存在时显示它。
    © www.soinside.com 2019 - 2024. All rights reserved.