VSTS:分支和合并最佳开发方法 - QA - 生产
VSTS: Branch and Merge Best approach for Development - QA - Production
我正在使用 VSTS 进行源代码管理、CI 和发布管理
我试图只构建一次代码,而不是每个环境或分支。
发布管道是:
开发 -> 质量检查 -> 产品
我只有一个分支或代码库,团队在其中提交更改。 CI 在修复的所有代码都准备就绪时触发构建。我创造
发布并通过管道进行推广,直到将其部署到生产环境中。
我需要知道一个分支是否适合我们,所以如果我们要修复一些错误或创建一个新功能,只需创建一个子分支并将代码每天提交到主分支。
我试图避免使用 3 个分支,每个环境一个。我认为 CI 和发布管理为我们提供了从以前的版本创建发布的能力。
那么,就我而言,这两种方法(3 个分支或只有一个主分支)的优缺点是什么?
你不需要每个环境都有一个分支,但你需要问自己一些关于你的开发过程的问题。
您多久发布一次新功能?您是否有全面的单元测试、集成测试、回归测试和用户验收测试,这些测试是完全自动化的并且在每次签入时 运行?
如果您开发新功能并且您没有一套完整的自动化测试,那么您可能至少需要一个分支。 1 开发新功能,1 支持实时代码库。阅读 ALM Rangers branching guidance 并从那里开始。
通常一个发布流水线应该只有一个分支。您可能在一个管道中有多个环境,但部署到它们的发布应该是相同的,因为发布管道反映了您的软件在构建后最终发布的过程。例如发布先部署到QA环境进行测试,QA环境测试通过后才能部署到生产服务器。 QA 使用一个分支的构建而 Prod 使用另一个分支的构建是没有意义的。详情可以参考这个link:Where to deploy? Environments in Microsoft Release Management.
而对于branch,则是关于你的开发过程。以下是来自 MSDN 的一些建议供您参考:
When should the team add a branch?
You should create branches in the following situations:
When you must release code on a different schedule/cycle than the
existing branches.
When your code requires a different branch policy. If you create a new
branch that has the new policy, you can add strategic value to your
project.
When functionality is released to a customer and your team plans to
make changes that do not affect the planned release cycle.
You should not create a branching for each user story because it
creates a high integration cost. Although Team Foundation Server makes
branching easy, the overhead of managing branches can become
significant if you have many branches.
查看此 link 了解详细信息:Branch strategically
我正在使用 VSTS 进行源代码管理、CI 和发布管理 我试图只构建一次代码,而不是每个环境或分支。 发布管道是: 开发 -> 质量检查 -> 产品
我只有一个分支或代码库,团队在其中提交更改。 CI 在修复的所有代码都准备就绪时触发构建。我创造 发布并通过管道进行推广,直到将其部署到生产环境中。
我需要知道一个分支是否适合我们,所以如果我们要修复一些错误或创建一个新功能,只需创建一个子分支并将代码每天提交到主分支。
我试图避免使用 3 个分支,每个环境一个。我认为 CI 和发布管理为我们提供了从以前的版本创建发布的能力。
那么,就我而言,这两种方法(3 个分支或只有一个主分支)的优缺点是什么?
你不需要每个环境都有一个分支,但你需要问自己一些关于你的开发过程的问题。
您多久发布一次新功能?您是否有全面的单元测试、集成测试、回归测试和用户验收测试,这些测试是完全自动化的并且在每次签入时 运行?
如果您开发新功能并且您没有一套完整的自动化测试,那么您可能至少需要一个分支。 1 开发新功能,1 支持实时代码库。阅读 ALM Rangers branching guidance 并从那里开始。
通常一个发布流水线应该只有一个分支。您可能在一个管道中有多个环境,但部署到它们的发布应该是相同的,因为发布管道反映了您的软件在构建后最终发布的过程。例如发布先部署到QA环境进行测试,QA环境测试通过后才能部署到生产服务器。 QA 使用一个分支的构建而 Prod 使用另一个分支的构建是没有意义的。详情可以参考这个link:Where to deploy? Environments in Microsoft Release Management.
而对于branch,则是关于你的开发过程。以下是来自 MSDN 的一些建议供您参考:
When should the team add a branch?
You should create branches in the following situations:
When you must release code on a different schedule/cycle than the existing branches.
When your code requires a different branch policy. If you create a new branch that has the new policy, you can add strategic value to your project.
When functionality is released to a customer and your team plans to make changes that do not affect the planned release cycle.
You should not create a branching for each user story because it creates a high integration cost. Although Team Foundation Server makes branching easy, the overhead of managing branches can become significant if you have many branches.
查看此 link 了解详细信息:Branch strategically