繁体   English   中英

如何在用户签入代码后在TFS服务器上执行代码

[英]How to execute code on TFS server after a user checks in code

我正在构建一个集成系统,当用户检查某些更改时,需要在Team Foundation Server(2010+)服务器上执行某些代码。 我可以通过图解方式访问检查没有问题,但我想知道何时添加新的检查。 理想情况下,我希望收到通知并给出检入数据,以便我可以操作它并将我需要的内容发布到不同的API,但如果通知新的检入完全存在,那就足够了。 理想情况下,我可以让tfs在同一台机器上执行对我自己的C#代码的调用。

在过去的两天里,我一直在寻找互联网,我坚信这是可能的,但我似乎无法找到有关如何做到这一点的任何细节,坦率地说,我的想法已经不多了在哪里看。 如果有人对从哪里开始,在哪里看,或者理想的任何类似的来源想法有任何想法,我们将不胜感激。

主要是,我一直在挖掘TFS集成工具,但是这方面的文档充其量仍然值得怀疑。 我已经找到了所有现有的适配器源代码(用于clearcase等),但没有看到任何触发执行的地方,因为我怀疑它们更适合单向迁移。

有不同的方法可以解决这个问题:

  1. 团队建设。 通过使用TFS Build Server,您可以创建持续集成构建或Gated Checkin构建。 在构建工作流程中,您可以响应您检测到的任何更改。 您可以使用TFS客户端对象模型来获取Changeset对象。 它包含您需要的所有数据。 ALM Rangers编写了一份详尽的指南,解释了如何扩展和自定义构建过程以满足您的需求。

  2. 签到政策 通过创建自定义签入策略,您可以在客户端(Visual Studio内部)上运行代码预签入。 此政策可以作为如何与待处理更改进行交互的示例。

  3. ISubscriber TFS应用程序层插件。 已经被@ppejovic提到了。 Application Tier插件安装在TFS服务器上,将在进行中运行。 由于它是在托管过程中,你可以做很多事情。 作用于工作项和/或源代码管理的示例是合并工作项处理程序,即TFS聚合器 如果需要,您还可以回退到客户端对象模型, 如此处所述

  4. SOAP API。 这是ISubscriber接口的前身。 您仍然可以使用它,但您将从ISubscriber解决方案中获得更多功能和效率。

  5. 客户端对象模型 您始终可以在定期连接到TFS的系统上创建服务或预定作业,以便自上次检查以来请求历史记录。 通过简单地存储查询比您目前所见的最高变更集编号更新的所有内容,您可以获得所需的所有信息,而无需扩展TFS本身。 您将寻找VersionControlServer类。 QueryHistory方法是获取更改集所需的方法。

有一个很好的Pluralsight课程,带你了解这些场景中的一些

与大多数这些项目一样,文档很少,Red-Gate Reflector .NET或Jetbrains dotPeek等工具非常宝贵。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM