【问题标题】:MS Team Foundation Server in distributed environments - hints tips tricks needed分布式环境中的 MS Team Foundation Server - 提示需要技巧
【发布时间】:2010-09-05 21:01:43
【问题描述】:

是否有人在地理位置分散的团队中使用 Team Foundation Server?我们在英国,尝试与澳大利亚的一个团队合作,我们发现这非常困难。

我们主要的两个问题是:

  1. 无需我们询问最新情况,我们就可以向我们检查所有内容。
  2. 即使使用代理,大多数事情也需要一段时间才能发生。

很多像这样令人讨厌的小事情正在硬化我们的动脉,阻止我们交付代码,坦率地说,它们正在创造一种类似于将金糖浆推上沙丘的用户体验。

有人实际上每天都在以这种方式使用 TFS,并且(相对)成功吗?

如果有,您是否有任何值得了解的提示、技巧、窍门或陷阱?

附:升级到 CruiseControl.NET 不是一种选择。

【问题讨论】:

  • 您使用的是 TFS 2005 还是 2008。因为 2008 对代理进行了大量改进。以及新的服务包修复了几个错误。让我知道它将帮助我从哪里开始,因为我使用了代理并且我没有任何问题。我发现最大的事情是代理和 TFS 之间的互联网连接需要低延迟。我还发现,如果您在两个不同的 AD 域上工作,有时代理只是最好的解决方案。如果你在同一个地方,在两个地方之间设置一个 VPN 或其他类型的安全连接,你
  • @Nick Berardi 我们使用的是 2008。ping 时间约为 310 毫秒,略低于 recommended maximum of 350ms。这与英国和澳大利亚之间的情况差不多。我想通过行星隧道可能会有所帮助,它会减少大约 100 毫秒,但我认为预算不会得到批准。 :-) 你认为这只是一个问题吗?我们可以接受,但随机结账有什么用?
  • 随机检出是 Visual Studio,如果有人查找并替换它会检出所有必要的文件。如果代码文件有子文件,它会检出所有子文件。如果您运行测试,则会检出 vsstest 文件。不断地不断。您还必须记住 Microsoft 推荐的最低要求。他们通过在您想自己开枪之前查看他们可以减少系统资源的程度来找到最小值。我相信,Windows Vista 推荐的 RAM 约为 512 MB。显然我们都知道 2GB 以下的任何东西都会很痛苦。所以你基本上是对的

标签: visual-studio tfs


【解决方案1】:

绝对升级到 TFS 2008 和 Visual Studio 2008,因为它在各个方面都是 Team System 的“v2”版本。修复了大量中小型问题。

由于 Visual Studio 决定代表您编辑文件,这几乎是总是“被随机签出的东西”。尝试从团队资源管理器中获取最新信息,在 Visual Studio 中没有打开任何内容,然后查看该行为是否仍然存在。我敢打赌不会!

多个 TFS 服务器是个坏主意。确保您的代理配置正确,因为它会缓存重复的 GET。也就是说,TFS 是一个服务器连接模型,所以它总是比真正的“离线”源代码控制系统慢一些。

另外,如果您可以编辑您的问题以包含更具体的投诉或详细信息,那将有所帮助 - 现在它非常模糊,所以我不能很好地回答。

【讨论】:

  • 不会绕过代理从 Team Explorer 获取最新信息吗?我尝试向它添加代理,但它不喜欢它。也许解决方案是通过团队资源管理器进行当天的第一次获取,然后使用代理进行其余操作。我想是时候泡茶,开个站立式敏捷会议了。
  • @IainMH 就像 Jeff 所说的,代理服务器配置需要针对您所在位置的个人实践进行调整。默认配置几乎不适合大多数人。您可能应该看看来自 MSDN 的 Managing Remote Connections。我也找到这篇文章和testing and managing cache performance
【解决方案2】:

我们将 TFS 与一个有点分散的团队一起使用 - 他们距离不太远,但通过缓慢且不可靠的 VPN 连接。

对于您的第一个问题,结帐时获取最新信息不是默认行为。 (这里是explanation)不过,有一个add-in 可以为您解决问题。

以下是适合我们的工作流程:

  1. 获取最新信息
  2. 构建并验证没有损坏
  3. 工作(待更改)
  4. 再次获取最新信息
  5. 处理合并冲突
  6. 构建并验证没有损坏
  7. 入住

[edit] 好的,您似乎改写了这部分问题。是的,Jeff 是对的,VS 决定“为您”检查一些文件,例如 sln 和 proj 文件。它还会自动检查您编辑的任何源文件(这就是您想要的,对吧?尽管您可以在工具 > 选项 > 源代码控制中更改该设置)

代理显然需要一段时间才能启动(我们不使用它),但是一旦它缓存了大部分树,它应该会很快。你能做一些监控并找到瓶颈吗?

除了获取最新的结帐和速度之外,还有什么给您带来麻烦的吗?

【讨论】:

    【解决方案3】:

    据我了解,您可以在不同位置拥有多个 TFS 应用程序服务器。它们要么都可以与同一个 SQL Server 通信,要么您可以使用 SQL Server 镜像。拥有自己的本地 TFS 服务器可能会加快您的开发速度。

    【讨论】:

    • 这实际上不起作用,因为它使冲突管理成为一场噩梦。因为冲突是在客户端合并的,然后不在服务器上签入。所以当你去同步你遇到麻烦的数据库时。拥有多个 TFS 服务器也是一个问题,除非他们最近修复了这个问题,因为数据库中的所有内容都基于最初设置它的 TFS 服务器的域。
    猜你喜欢
    • 2014-05-07
    • 2011-06-11
    • 2018-08-07
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多