【问题标题】:Ideas for branching strategy for a web application?Web 应用程序分支策略的想法?
【发布时间】:2011-11-30 19:32:47
【问题描述】:

我对您对我们的 Web 应用程序分支策略的想法很感兴趣。特别是,我想知道我是否满足了不同执行环境的业务需求。

情况如下:

  • 我们的软件是一个网络应用程序
  • 我们的发布节奏预计会定期(例如,每季度)发布
  • 我们的客户一般只需要使用最新发布的软件版本
  • 一些客户需要使用预发布 ("UAT") 版本来评估新功能

考虑到这一点,我提出了一个 4 分支系统:​​

  • Dev - 用于正在进行的最新开发
  • QA - 满足内部 QA 需求
  • UAT - 用于预发布测试
  • 生产 - 为客户提供

合并将以下列方式进行:

  • 将通过合并 FROM Trunk 对 QA 分支进行更改
  • 将通过合并 FROM UAT 对 UAT 分支进行更改
  • 将通过合并 FROM Production 对生产分支进行更改

部署将以下列方式进行:

  • 来自 Dev 分支的构建将部署到 Dev 环境
  • 来自 QA 分支的构建将部署到 QA 环境中
  • 来自 UAT 分支的构建将部署到 UAT 环境中
  • 生产分支的构建将部署到生产环境

那么,你怎么看?我是否隐约走上正轨?

【问题讨论】:

  • 很有趣,但也许更适合程序员:这里没有整洁、客观可回答的编程问题。 (哦,你使用的是 VCS,对吧?;-)
  • @pst 如何将问题迁移到其他论坛?是的,我们的 VCS 还是不错的(我们使用的是 TFS,它至少可以处理分支)。

标签: version-control


【解决方案1】:

我们基本上使用这种策略。每个环境一个分支。

有时我们会为最终会死路一条的任何重大问题创建一个服务包分支。

codeplex 上有一个 TFS 分支策略指南。

http://tfsbranchingguideiii.codeplex.com/

祝你好运

【讨论】:

    【解决方案2】:

    你的方法很好。 但根据我过去的经验,我唯一的建议是使存储库版本(1.1.1_C0、1.1.0_B0 或 1.0.0_A0)依赖而不是 Environment(Dev, UAT, PROD) 依赖于分支。这对我们来说效果很好。 我们根据代码所处的开发阶段标记每个版本。

    【讨论】:

      猜你喜欢
      • 2014-05-08
      • 2014-07-28
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2016-02-23
      • 2011-06-27
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多