繁体   English   中英

VSTS / TFS Git分支策略和持续集成

[英]VSTS/TFS Git Branching Strategy and Continuous Integration

我们公司一直在使用git分支策略,该策略使长期运行的sprint工作分支看起来像这样:

master
  \
   Sprint
     \
      Feature1
      Feature2

在当前的Sprint中,我们切换到了一个新的分支,并为每个Sprint使用了新名称:

master
  \
   Sprint123
     \
      Feature1
      Feature2

通过此更改,出现了一些痛点:

  1. 每次创建新的Sprint ###分支(包括持续集成和请求请求设置)时,都必须设置策略。
  2. 构建定义具有触发器,这些触发器仍可以通过通配符(“ Sprint *”)正常运行,但是构建的存储库源设置不支持通配符。

我已经阅读过VSTS文档,但是感觉好像错过了如何设置每个sprint有一个新分支的内容(这与VSTS分支策略文档一致)。

因此,问题是:

我们期望触发构建的分支是已构建的分支。 这可能吗?

每次从主服务器创建新分支时,建议设置分支策略的建议是什么? 我们是否应该期望每次都必须手动配置所有设置?

我们已经发布了有关Git分支策略的指南 指向TFVC的同级答案不正确。

对于大多数团队,我们不建议长期使用开发分支。 相反,保持干净的母版并使用短暂的主题分支。 然后,您将无需继续创建和删除策略,构建定义等。

如果由于某种原因必须继续使用寿命长的分支,请考虑在分支名称中使用斜杠,例如sprints/s100 我们已经有了一个REST API(并且很快将成为管理UI),可以在前缀匹配的基础上设置策略,并以/ s停止。 因此,您可以在sprints/上设置分支策略,它将自动应用于sprints/s101 sprints/s100sprints/s101等。

推荐的分支策略即使对于新的sprint也始终使用相同的分支 本文所述 ,您始终可以将development分支用于不同的sprint。

当然,如果两个Sprint之间的代码完全不同,则可以使用分支策略。 但缺点为:

  1. 每次创建新分支时都要设置分支策略。
  2. 随着时间的流逝,会有大量的sprint*分支,因此很难轻松地跟踪整个项目版本。

最后,对于您的问题(如果您仍然需要当前的策略):

  1. 是的,您仍然可以在构建定义的“触发器”选项卡中使用格式Sprint* ,然后新创建的分支Sprint ###也将适用于CI构建。 获取源代码以进行构建定义不会影响您的CI生成,回购和分支仅用于手动排队构建。
  2. 您需要每次为新创建的分支手动设置分支策略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM