Git CI 和 CD 的流程指南

Git flow guideline for CI and CD

我想将 CI 和 CD 与 VSTS 集成。 我正在经历不同的 link 但感到困惑,要遵循什么过程。附git流图

在此流程中。

  1. 集成版本将从开发分支发生吗?
  2. UAT 发布将从哪个分支发生?是师傅送的吗?
  3. 产品发布应该从 master 开始?
  4. 如果我需要集成声纳或任何静态分析工具,我需要集成哪个分支。

请建议我在这种情况下可以使用的最佳 git 流程。我还附上了我们当前的 git 流程。

主要分支机构的职能如下:

  • develop 分支供所有开发者管理他们的作品。
  • master分支是管理生产版本的主要分支。
  • release 分支是准备新版本的分支(如果您的情况需要 UAT)。

对于带有您附加的分支模型的 git 流程,如下所示:

  • 所有开发人员都在 develop 分支上工作,他们可以在自己的功能分支上开发新功能。完成功能分支的工作后,它们应该合并到 develop 分支。
  • 如果您的 git 流程需要 UAT,您应该为每个新版本创建发布分支。比如当你准备发布1.0的版本时,你可以为UAT创建一个release-1.0的发布分支。准备就绪后,将发布分支 release-1.0 合并到新生产版本的 master 分支中。
  • 对于一个release,如果不需要做UAT,那么直接将develop合并到master分支中进行新的release。

更多关于git流程的解释,可以参考post A successful Git branching model.

所以对于你的问题:

  1. CI 构建应基于您的要求。也可以为 develop 分支和 master 分支设置 CI 构建。
  2. UAT 发生在发布分支上。通过后,将发布分支合并到 master 分支。
  3. 是的,产品发布发生在 master 分支上。
  4. 分析应该在您的 CI 构建中执行(在由 CI 构建触发的相同分支中)。