VSTS Branching Statery& CICD管道

时间:2018-06-05 07:31:24

标签: continuous-integration azure-devops devops continuous-deployment

我已经参考了文章:https://docs.microsoft.com/en-us/vsts/git/concepts/git-branching-guidance?view=vsts以了解有关分支概念的更多信息。如果我的理解是正确的,那么应该有一个主分支,然后是一个发布分支,然后是一个支持分支和一个共同的功能分支。

分支之间的合并应定义如下:

  1. 创建主分支(添加代码)。
  2. 然后从主分支创建发布分支(否则称为主题分支)。
  3. 然后创建一个支持分支来修复发布分支中的错误,然后在拉取请求中将它们合并回发布分支。
  4. 从主分支创建新功能分支以移植更改。 Cherry-从发布分支到新功能分支选择更改。然后在第二个pull请求中将功能分支合并回主分支。
  5. 提出问题,假设我有4个环境,例如 - 开发,测试,预生产和生产。在这里,我需要一个分支和合并机制,需要在VSTS中设置cicd管道。

    1. 如果我使用MS推荐的分支和合并机制,我将如何为上述情况定义CICD管道?是否所有部署都只从主分支完成? (那是来自Master分支,构建和部署到 - > Dev - > Test - > Pre prod - > Prod环境?)。我需要注意其中的任何其他内容吗? enter image description here

    2. 或者我是否需要一个单独的分支和合并机制,这样我需要为四个环境中的每一个都有单独的分支,并且应该像下面的屏幕一样定义单独的管道? enter image description here

1 个答案:

答案 0 :(得分:0)

对于标准分支模型,您可以参考A successful Git branching model。它是一种广泛使用的分支结构,也适用于gitflow。并且基于分支模型,您可以通过CI / CD到开发环境(通过develop分支)和生产环境(通过master分支)。如果您设计分别部署四个环境,则可以相应地调整分支模型。

每个环境仅适用于单个分支。例如对于Dev环境,CI / CD旨在检查来自develop分支的代码。只有来自develop分支的代码已经过限定,您才能将其合并到master或创建发布分支以准备下一个版本进行生产。