【问题标题】:Handling different versions in TFS在 TFS 中处理不同的版本
【发布时间】:2015-07-10 22:26:21
【问题描述】:

我想知道是否有人可以针对我在 TFS 中遇到的问题提出建议。

我有一个这样的文件夹结构:-

- development
 - project gets branched to here for development
- drop
 - build drop folder
- main
 - project is in here

我现在被要求创建 2 个版本。 1 用于我们的生产环境,1 用于我们的预生产环境,所以我想知道实现这一目标的最佳方法是什么。

我的想法是像这样改变结构:-

- development
 - project gets branched to here for development
- drop
 - Production
  - build drop folder
 - PreProduction
  - build drop folder for preproduction project
- main
 - Production
   - production project moved to here
 - PreProduction
   - preproduction project branched from production and placed in here

【问题讨论】:

  • 为非生产和生产提供不同版本的软件似乎很疯狂。您正在向生产中未检测到的错误敞开心扉。这样做的商业案例是什么?
  • 希望通过“两个不同的版本”,产品负责人真正的意思是“好吧,我们只希望在生产中启用一些功能,但我们希望在预生产中启用其他功能”。如果是这种情况,那么应该只存在 一个 版本的产品,并且应该使用功能标志来启用/禁用功能。正如@DanielMann 指出的那样,拥有两个独立的代码库是疯狂的。
  • 同意上面的cmets,你应该只有一个版本,我认为你现有的分支已经支持它。你的 Dev 分支都是 pre-prod 版本。当他们准备好进行生产时,您合并到 Main 并从那里进行部署。创建 prod 与 pre-prod main 是在自找麻烦并违背目的。
  • 我同意你们所说的。它只是解决 preprod 上的特定问题的临时措施,该问题将在不久的将来得到解决,但是感谢您回答我提出的问题。你是一个真正的帮助!!!!

标签: tfs


【解决方案1】:

您所追求的称为“发布分支”。我建议这种类型的发布分支主要只用于大型开发团队,因为它会产生开销。只做你的特定团队需要做的事情。我通常只有在您拥有开发团队、发布/运营团队和 QA 团队时才会看到这种情况。

我经历的典型过程是认证(预生产部署的几个阶段)。在认证过程中,会在发布分支(发布修补程序/开发行)的分支上发现并修复错误。这些修补程序通常不会带回主开发线。

认证完成,代码准备好生产环境后,最后一次分支。为了帮助可视化,请参见下图。

【讨论】:

  • 需要注意的是,每个认证行都与一个主要版本相关联,而锁定版本是次要版本。
  • 还应注意,以敏捷方式构建现代软件与上述分支结构是相互排斥的。如果可能,最好避免分支。请改用功能切换。
猜你喜欢
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
相关资源
最近更新 更多