[英]VSTS/TFS Git Branching Strategy and Continuous Integration
我们公司一直在使用git分支策略,该策略使长期运行的sprint工作分支看起来像这样:
master
\
Sprint
\
Feature1
Feature2
在当前的Sprint中,我们切换到了一个新的分支,并为每个Sprint使用了新名称:
master
\
Sprint123
\
Feature1
Feature2
通过此更改,出现了一些痛点:
我已经阅读过VSTS文档,但是感觉好像错过了如何设置每个sprint有一个新分支的内容(这与VSTS分支策略文档一致)。
因此,问题是:
我们期望触发构建的分支是已构建的分支。 这可能吗?
每次从主服务器创建新分支时,建议设置分支策略的建议是什么? 我们是否应该期望每次都必须手动配置所有设置?
我们已经发布了有关Git分支策略的指南 。 指向TFVC的同级答案不正确。
对于大多数团队,我们不建议长期使用开发分支。 相反,保持干净的母版并使用短暂的主题分支。 然后,您将无需继续创建和删除策略,构建定义等。
如果由于某种原因必须继续使用寿命长的分支,请考虑在分支名称中使用斜杠,例如sprints/s100
。 我们已经有了一个REST API(并且很快将成为管理UI),可以在前缀匹配的基础上设置策略,并以/
s停止。 因此,您可以在sprints/
上设置分支策略,它将自动应用于sprints/s101
sprints/s100
, sprints/s101
等。
推荐的分支策略即使对于新的sprint也始终使用相同的分支 。 如本文所述 ,您始终可以将development
分支用于不同的sprint。
当然,如果两个Sprint之间的代码完全不同,则可以使用分支策略。 但缺点为:
sprint*
分支,因此很难轻松地跟踪整个项目版本。 最后,对于您的问题(如果您仍然需要当前的策略):
Sprint*
,然后新创建的分支Sprint ###也将适用于CI构建。 获取源代码以进行构建定义不会影响您的CI生成,回购和分支仅用于手动排队构建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.