服务挂钩可以用来触发另一个存储库中的更新依赖项吗?

时间:2019-10-10 10:07:39

标签: git tfs webhooks git-webhooks

我一直在研究与Git一起使用的本地Microsoft Team Foundation Server的以下问题的解决方案:

我们有几个存储库,它们具有一定程度的依赖性。例如,我们有一个“消息”存储库,它将作为多个存储库之间的接口,每个存储库是我们软件上的一个不同单元,将在不同的容器中运行,而消息则是这些单元之间通信的接口。

当我们更改了“消息”单元后,我们希望有一个触发器(自动)通知所有相关项目,例如更新项目文件中“消息” Nuget软件包的版本并提交更改。 当任何人获得依赖于“消息”单元的每个单元的最新版本时,还原其项目的本地版本时也将获得消息的最新版本。

有什么办法可以使用当前工具来做到这一点? 我们该怎么做? 我只能找到向Slack发送消息的示例,这是我不需要的。

最良好的祝愿 Paulo Aboim Pinto

1 个答案:

答案 0 :(得分:1)

您可以使用构建完成触发器直接将相关的构建链接在一起,而不是使用Webbook来监视和触发构建。

  

大型产品具有多个组件,每个组件都取决于   其他。这些组件通常是独立构建的。当一个   上游组件(例如库)发生变化,下游   依赖关系必须重建和重新验证。典型的团队   手动管理这些依赖项。

     

现在,您可以在成功完成另一个构建后触发构建   建立。 上游版本生成的工件可以下载并   在以后的版本中使用,您还可以从这些文件中获取数据   变量:Build.TriggeredBy.BuildId,Build.TriggeredBy.DefinitionId,   Build.TriggeredBy.BuildDefinitionName。

enter image description here

有关更多信息,请参见build triggers documentation

另一种方法可能是使用Trigger another build task并指定一个Condition。如果不支持TFS服务器使用构建完成触发器。除此任务外,还支持在另一个团队项目中触发构建。