我在tfs 2015.3中创建了一个ci构建。在触发器选项卡上,我设置了门控签入。
有没有办法让开发人员现在进入构建失败。目前没有办法,我不想使用警报,我想在vs
中留言另外,当构建失败时,文件在构建服务器上签出,我该如何取消此行为,这需要tfs管理员来释放文件。
在 TFS 2013中,曾经有一个名为 Team Foundation Build Notification 的工具,它随 Visual Studio 2013 一起提供。然而,情况已不再如此。
如果您不想使用电子邮件通知,则可以在托盘中运行第三方应用程序来接收生成通知。 我最近自己也用猫灯解决了完全相同的问题。如果您使用的是 Slack 等聊天应用程序,您还可以将构建通知集成到团队的 Slack 频道中,以便在构建失败时收到通知。
要回答问题的第二部分,重要的是要了解门控值机的确切作用。
当你签入并触发门控签入时,你的文件不会签入,但 TFS 会创建一个搁置集。然后,TFS 将使用最新版本的源及其刚刚创建的搁置集执行专用生成。仅当此专用版本通过搁置集中的挂起更改时,生成才会代表触发门控签入的用户签入。这将创建一个新的变更集。
签入时,将释放所有锁,因此当生成服务器代表您签入更改时,将释放具有签入或签出锁定的所有文件。
当构建失败时,构建服务器不会签入搁置集中的更改(在触发门控签入构建时创建),因此不会释放锁。在源代码管理资源管理器中,文件仍将具有挂起的更改(并已签出),因为工作区中的更改尚未签入。这是预期的行为,除非您禁用了多次签出,并且通过签出这些文件阻止其他开发人员进行更改,否则不会给您带来任何问题。
我不建议您在不允许多次退房时使用门控入住。此外,如果可以以任何方式避免,我不建议不允许多次退房。
门控签入旨在防止存储库接收会破坏应用程序(不再编译或单元测试失败)或降低低于标准的质量的签入。但是,这也意味着在构建过程中的所有规则和验证通过之前,您无法签入,因此意味着其他开发人员将被锁定,直到您能够通过"门"。