tfs 2015门禁登记失败

时间:2017-03-16 14:50:39

标签: tfs tfs2015 gated-checkin

我在tfs 2015.3中创建了一个ci构建。在触发选项卡上,我设置了门控检查 有没有办法让开发人员现在进行构建失败。目前没有办法,我不想使用提醒,我想要一个消息与对 此外,当构建失败时,在构建服务器上检出文件,如何取消此行为,这需要tfs管理员来释放文件。

1 个答案:

答案 0 :(得分:4)

在TFS 2013中,曾经有一个名为Team Foundation Build Notification的工具随Visual Studio 2013一起提供。但是现在不再是这种情况了。

如果您不想使用电子邮件通知,则可以在托盘中运行第三方应用程序以接收构建通知。我最近自己使用catlight来解决同样的问题。如果您正在使用像Slack这样的聊天应用程序,您还可以integrate build notifications进入您团队的松弛渠道,以便在构建失败时收到通知。

要回答问题的第二部分,了解门禁办理登机手续的内容非常重要。

当您办理登机手续并触发门禁登记时,您的文件未签入,但TFS会创建shelveset。然后,TFS将使用最新版本的源以及刚创建的shelveset执行私有构建。仅当此私有构建通过搁置集中的挂起更改时,才会由构建代表触发门控签入的用户签入。这将创建一个新的changeset

签入后,所有锁定都将被释放,因此当构建服务器代表您检入您的更改时,将释放所有具有check-in or check-out lock的文件。

当构建失败时,构建服务器不会检查shelveset中的更改(在触发门控签入构建时创建),因此不会释放锁定。在源代码管理资源管理器中,文件仍将具有挂起的更改(并且已签出),因为您的工作空间中的更改尚未签入。这是预期的beheaviour,除非您已禁用multiple check-out,否则不应对您造成任何问题,并且您通过签出这些文件阻止其他开发人员进行更改。

我不建议您在不允许多次退房的情况下使用门禁办理登机手续。此外,如果可以以任何方式避免,我不建议不允许多次退房。

门禁签到旨在保护存储库免于接收会破坏应用程序的签入(它不再编译或单元测试失败)或者降低质量低于标准。但是,这也意味着在构建过程中的所有规则和验证都通过之前,您无法办理登机手续,因此意味着其他开发人员将被锁定,直到您能够通过" gate"。