【发布时间】:2010-03-25 19:13:17
【问题描述】:
所以我遇到了一个情况,我们有一个有 10 名开发人员的项目。每个开发人员当天进来时,都会随机分配一台机器用于当天的开发。机器名称不同,例如 DEV01 - DEV10。在将它们发布给开发人员时,机器是相同的,并且开发人员在白天所做的任何更改都不会保留在机器上(源代码更改存储在 TFS 中,而不是本地)。当然,这些实际上是虚拟机,但这与手头的问题并不真正相关。
问题是,每天早上,开发人员都会遇到 3 个问题:
1) 分配给他们的计算机可能不是他们最后分配给的同一台计算机。例如,DevMan A 可能昨天使用了 DEV04,今天收到了 DEV06。他的工作空间定义现在与 DEV06 相关联;他必须创建一个新的工作空间,或者将旧的工作空间迁移到 DEV04。
2) 分配给他们的机器可能昨天已经在使用,并且某些映射可能会发生冲突。例如,DevMan A 今天可能有 DEV04,并希望创建一个工作区,将项目文件夹映射到“C:\MyProj\Solution”。但是,DevMan B 昨天有 DEV04,他使用了相同的项目文件夹。 TFS 现在抱怨了。
3) 这可能是他们第一次在给定的机器上。他们现在需要为这台机器重新创建新机器的所有源代码控制映射。
所有这些问题都可以根据具体情况以简单的方式解决,但这确实会降低早上的工作效率。如果 TFS 工作区定义可以“宽松”,我们会更喜欢,这样它们就不会以某种方式在定义中包含机器名称。除此之外,如果有人知道上述问题的解决方案可以自动运行,或者在有限的用户干预下运行,那也是理想的。
【问题讨论】:
-
真正的答案是:不要这样做。解决方法是使用命令行调用为每台计算机设置工作区,并使用@Perica-Zivkovic 对映射文件夹的建议。
-
这是什么鬼生意?我认为这不利于编写好的代码,但如果它适用于您的团队,那就更好了!
-
@drachenstern:我知道这已经很晚了,但是出于安全原因,许多公司以这种方式运营承包商或离岸团队来管理非常流畅的资源。这是一个非常合法的设置。
-
@SV Hooligan ~ 好吧,当然,随便。我仍然认为将高质量的开发人员放在一个开放的牛棚中并每天对他们进行洗牌是迟钝的。以今天的存储价格,没有理由不能将开发环境固定在本地 SAN 中并将它们作为 VM 运行,为开发人员分配一个专用 VM。我想我不明白每天重新分配开发人员和工作站如何变成高效的环境。
-
@drachenstern:没有争论。
标签: visual-studio-2008 version-control tfs virtualization workspace