我们正在使用Microsoft Team Foundation服务器进行版本控制,其中多个开发人员正在分支机构上工作并签入并签出代码。
如何通过电子邮件或短信通知开发者A他的代码在开发人员B签入时被覆盖。
开发人员A需要了解这一点,因为开发人员A的代码更改在部署到QA时将无法运行。
我们希望在快节奏的开发环境中节省时间,并尽量避免代码覆盖问题。
答案 0 :(得分:2)
允许持续并行开发并防止一个人破坏其他人的代码的最简单方法是使用CI服务器。 TFS通过Team Build支持此功能。
虽然在专用构建服务器上运行团队构建是首选,但它可以并排安装在主TFS服务器上,并且可以集中安装Controller组件并使用您的开发人员的工作站作为代理。
有两种类型的构建触发器可以帮助您:
持续集成 - 这会在每次签入后直接触发所有代码的构建。它会很快告诉你某些东西没有编译。如果您正在进行单元测试,它甚至可以运行这些并告诉您测试失败。
Gated - 这将迫使开发人员搁置他的代码,并且只会在最新版本的构建加上shelveset中的更改成功时检入代码。这可能看起来更好,因为源代码控制中的代码永远不会处于破坏状态,但实际上我更喜欢ci触发器。我们Gated构建的主要原因是并行发生(由于它们的性质)并且实际上可能会延迟代码被破坏的通知。
您可以通过webaccess轻松配置有关特定构建结果的电子邮件警报。您还可以配置源更改的警报,但是没有选项可以仅警告之前已编辑过这些特定文件的人员。
您还可以从任务栏运行“构建通知”工具,以在Windows中显示通知。
虽然这不会告诉那个代码刚被覆盖的人不再工作,但它会告诉我重写该代码的人在办理登机手续时应该多加注意;)。
当然,您可以配置一个团队警报,在构建中断时通知每个人(通常称为),并且有一些有趣的方法可以通过像#34; {{3这样的小应用程序来显示构建状态它提供了一个构建监视器服务,可以连接到USB警报灯,当有人做蠢事时,它会打开并提供噪音。
答案 1 :(得分:0)
如果您需要在办理登机手续时避免此问题。合并,然后我会建议禁用多个签出。这样,文件只能一次一个地检出,可以防止团队项目混淆。
如果您需要更进一步,您可以在签入任何代码并发送到通讯组列表时创建TFS警报,但是当特定开发人员的特定贡献被更改时它不会通知 - 只有列表在办理登机手续时更改了文件。