Git CI 和 CD 的流程指南
Git flow guideline for CI and CD
我想将 CI 和 CD 与 VSTS 集成。
我正在经历不同的 link 但感到困惑,要遵循什么过程。附git流图
在此流程中。
- 集成版本将从开发分支发生吗?
- UAT 发布将从哪个分支发生?是师傅送的吗?
- 产品发布应该从 master 开始?
- 如果我需要集成声纳或任何静态分析工具,我需要集成哪个分支。
请建议我在这种情况下可以使用的最佳 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.
所以对于你的问题:
- CI 构建应基于您的要求。也可以为
develop
分支和 master
分支设置 CI 构建。
- UAT 发生在发布分支上。通过后,将发布分支合并到
master
分支。
- 是的,产品发布发生在
master
分支上。
- 分析应该在您的 CI 构建中执行(在由 CI 构建触发的相同分支中)。
我想将 CI 和 CD 与 VSTS 集成。
我正在经历不同的 link 但感到困惑,要遵循什么过程。附git流图
在此流程中。
- 集成版本将从开发分支发生吗?
- UAT 发布将从哪个分支发生?是师傅送的吗?
- 产品发布应该从 master 开始?
- 如果我需要集成声纳或任何静态分析工具,我需要集成哪个分支。
请建议我在这种情况下可以使用的最佳 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.
所以对于你的问题:
- CI 构建应基于您的要求。也可以为
develop
分支和master
分支设置 CI 构建。 - UAT 发生在发布分支上。通过后,将发布分支合并到
master
分支。 - 是的,产品发布发生在
master
分支上。 - 分析应该在您的 CI 构建中执行(在由 CI 构建触发的相同分支中)。