【问题标题】:TFS 2010: Gated Check-In On Main Branch; Rolling Builds on Dev Branch?TFS 2010:主分支的门控签到;在开发分支上滚动构建?
【发布时间】:2011-05-28 07:42:13
【问题描述】:

我最近从 VSS 迁移到了 TFS 2010,我非常喜欢它,但是我还没有能够按照我认为应该的方式开始工作。

目标

我想快速了解对开发的更改何时会破坏构建。如果我们事后发现,这没什么大不了的。由于一天中有很多签入,我们不想等待构建完成,所以它应该是异步的。

对于我们的 Main 分支,我想确保在任何时候发生合并时,我们都确保它不会破坏构建。我想立即对此进行反馈。等待时间很好,因为我们不会经常合并到 Main。

当前设置

我的解决方案位于名为 Main 的文件夹下。我已经创建了一个名为 Development 的分支。我正在工作的工作区与顶层相关联,其中包括主分支和开发分支。我尝试将我的工作区调整为仅指向开发,以防出现问题。这似乎并没有解决我的问题,所以我将它设置回原来的方式 - 主要和开发。

在工作区的构建定义中,我定义了两个定义——一个用于主分支,另一个用于开发。

第一个定义是用于构建 Main 分支。它有一个门控签入触发器,并且“要构建的项目”指向 Main 中的解决方案文件。

第二个定义是在开发分支中构建解决方案。它有一个滚动构建触发器,并且“要构建的项目”指向开发中的解决方案文件。

结果

目前,当在 Development 中进行更改并执行签入时,会触发 Main 的门控签入。这不仅会造成混乱,而且还会减慢我们的整体流程。

下一步

我查看了一些关于分支的 TFS 指南、一般 TFS 使用等。不幸的是,我还没有找到解决我的问题的方法。如果您以前遇到过此问题,我将不胜感激您提供的任何建议。

【问题讨论】:

    标签: tfs tfsbuild tfvc gated-checkin


    【解决方案1】:

    目前我不确定 100%,但构建应该通过签入到构建定义工作区所覆盖的源树部分来触发。

    因此,请查看构建定义并查看每个构建定义获取的源代码树的哪一部分。您的 CI 构建应该只获得 Dev 分支,门控构建应该只获得 Main 分支。

    【讨论】:

    • 在构建定义的工作区属性中,“源代码管理文件夹”设置为根。我尝试手动将其设置为特定的分支,但它似乎没有保存该设置。
    • Son of a... 好吧,显然,当我在“源代码管理文件夹”中更改为我想要的特定分支并点击保存时,这没有任何效果。当我向下移动到下一行然后点击保存时,它保留了我的更改。现在像冠军一样工作!谢谢。这让我发疯了。
    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多