VSTS 分支策略和 CI CD 管道
VSTS Branching Statery & CICD pipelines
我参考了这篇文章:https://docs.microsoft.com/en-us/vsts/git/concepts/git-branching-guidance?view=vsts 以了解更多关于分支概念的信息。如果我的理解是正确的,应该有一个 master 分支,然后是一个发布分支,然后是一个支持分支和一个共同的功能分支。
分支之间的合并定义如下:
- 创建主分支(添加代码)。
- 然后从主分支(也称为主题分支)创建发布分支。
- 然后创建一个支持分支来修复发布分支中的错误,然后在拉取请求中将它们合并回发布分支。
- 从 master 分支创建一个新的功能分支以移植更改。 Cherry-pick 从发布分支到新功能分支的更改。然后在第二个拉取请求中将功能分支合并回主分支。
谈到这个问题,假设我有 4 个环境,例如 - 开发、测试、预生产和生产。这里我需要有一个分支和合并机制,并且需要在 VSTS 中设置 cicd 管道。
如果我使用 MS 推荐的分支和合并机制,我将如何为上述情况定义 CICD 管道?是否所有部署都只从 master 分支完成? (那是来自 Master 分支,构建并部署到-> Dev -> Test -> Pre prod -> Prod 环境?)。我需要注意这里面的任何其他事情吗?
或者我是否需要有一个单独的分支和合并机制,这样我就需要为四个环境中的每一个都有单独的分支,并且应该像下面的屏幕那样定义单独的管道?
标准分支模型可以参考A successful Git branching model。它是一种广泛使用的分支结构,也适用于 gitflow。并且基于分支模型,您可以 CI/CD 开发环境(通过 develop
分支)和生产环境(通过 master
分支)。如果设计分开部署四个环境,可以相应调整分支模型。
并且每个环境仅适用于一个分支。例如对于 Dev 环境,CI/CD 旨在检查来自 develop
分支的代码。只有当 develop
分支的代码合格后,您才能将其合并到 master
或创建发布分支以准备下一个版本的生产。
我参考了这篇文章:https://docs.microsoft.com/en-us/vsts/git/concepts/git-branching-guidance?view=vsts 以了解更多关于分支概念的信息。如果我的理解是正确的,应该有一个 master 分支,然后是一个发布分支,然后是一个支持分支和一个共同的功能分支。
分支之间的合并定义如下:
- 创建主分支(添加代码)。
- 然后从主分支(也称为主题分支)创建发布分支。
- 然后创建一个支持分支来修复发布分支中的错误,然后在拉取请求中将它们合并回发布分支。
- 从 master 分支创建一个新的功能分支以移植更改。 Cherry-pick 从发布分支到新功能分支的更改。然后在第二个拉取请求中将功能分支合并回主分支。
谈到这个问题,假设我有 4 个环境,例如 - 开发、测试、预生产和生产。这里我需要有一个分支和合并机制,并且需要在 VSTS 中设置 cicd 管道。
如果我使用 MS 推荐的分支和合并机制,我将如何为上述情况定义 CICD 管道?是否所有部署都只从 master 分支完成? (那是来自 Master 分支,构建并部署到-> Dev -> Test -> Pre prod -> Prod 环境?)。我需要注意这里面的任何其他事情吗?
或者我是否需要有一个单独的分支和合并机制,这样我就需要为四个环境中的每一个都有单独的分支,并且应该像下面的屏幕那样定义单独的管道?
标准分支模型可以参考A successful Git branching model。它是一种广泛使用的分支结构,也适用于 gitflow。并且基于分支模型,您可以 CI/CD 开发环境(通过 develop
分支)和生产环境(通过 master
分支)。如果设计分开部署四个环境,可以相应调整分支模型。
并且每个环境仅适用于一个分支。例如对于 Dev 环境,CI/CD 旨在检查来自 develop
分支的代码。只有当 develop
分支的代码合格后,您才能将其合并到 master
或创建发布分支以准备下一个版本的生产。