【问题标题】:Manually increase TFS BuildId?手动增加 TFS BuildId?
【发布时间】:2011-02-28 13:32:43
【问题描述】:

更新了整个问题以澄清事情。

软件

团队基础服务器 2010。

背景

不久前,我们使用 Microsoft Team Foundation Server 集成工具将团队项目集合 (= TPC) 迁移到了新的 TPC。我们也想保留我们的构建定义,因此我们为新 TPC 创建了一个新的构建控制器,然后手动迁移构建定义,因为该工具不支持该功能。一旦我们重新创建了构建控制器,BuildID 就会被重置。这种行为是可以理解的,因为每个 TPC 都有自己的数据库,在其中生成唯一的 BuildID。

问题在于我们的程序集版本控制方案使用 BuildID 来确保我们可以从 TFS 将程序集跟踪到相关构建。这就是为什么继续使用旧的 BuildID(或手动配置下一个 BuildID)至关重要的原因。

问题

问题是我们是否可以通过设置来定义 BuildID 的范围,以便与已弃用的 Build Controller 之前的构建不重叠。例如,如果在旧 TPC 中,最后一次构建是“499”,那么我们希望将新 TPC 中的 BuildID 范围设置为 [500-99999]”。

【问题讨论】:

  • 您好 Bernard,您是什么意思,将构建从一个工作区移动到另一个工作区?据我所知,在 TFS 中,构建会在构建时创建自己的工作区。请添加有关问题的详细信息,以便我提供解决方案。
  • 是的,出于实际目的,我们需要重新定义移动代码并移至不同的工作区并重新定义构建。问题是如何确保这个新构建不是从 BuildId "1" 开始,而是从更高的数字(例如 1234)开始。
  • 您说的是 TFS 2010 吗?您确定是重置的 BuildId 吗? AFAIK,它在 TFS 服务器级别是独一无二的 - 当然与工作区无关。
  • @Assaf:是的,它是 TFS 2010。我更新了整个问题以澄清事情。

标签: tfs


【解决方案1】:

有两种方法可以解决这个问题。最简单的方法是修改构建工作流程,并为构建 ID 添加偏移量。您可以将偏移量作为参数公开并将其添加到元数据中,以便可以在外部对其进行修改,或者您可以将其设置为 XAML 中的固定常量。

一个更具侵入性的解决方案是直接修改数据库。在项目集合的数据库(例如 Tfs_DefaultCollection)中,转到 tbl_Build 表。表的主键是 BuildId。这是一个身份字段。您需要做的就是将 seed 更改为新值(例如 500);下一个构建将具有修改后的构建 ID。

我在自己的数据库上进行了尝试,没有发现任何问题。为了安全起见,我建议您在尝试之前备份您的 TPC。

并建议您简单地修改构建以对构建 ID 进行偏移。

希望这会有所帮助,

阿萨夫。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-01
    • 2020-03-22
    • 2015-02-02
    • 1970-01-01
    • 2013-06-02
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多