Service Hook 可用于触发另一个存储库中的更新依赖项?
Posted
技术标签:
【中文标题】Service Hook 可用于触发另一个存储库中的更新依赖项?【英文标题】:Service Hook can be used to trigger update dependencies in another repository? 【发布时间】:2020-02-07 18:05:49 【问题描述】:我一直在为我们与 Git 一起使用的本地 Microsoft Team Foundation Server 研究以下问题的解决方案:
我们有几个具有某种程度依赖关系的存储库。例如,我们有一个“消息”存储库,它将作为几个存储库之间的接口,每个存储库是我们软件上的一个不同单元,将在不同的容器中运行,消息是这些单元之间通信的接口。
当我们更改“消息”单元时,我们希望有一个触发器来通知所有相关项目(自动),例如更新项目文件中“消息”Nuget 包的版本并提交更改。 当任何人获得依赖于“消息”单元的每个单元的最新版本时,在恢复他的项目本地版本时,也将获得最新版本的消息。
我们有什么方法可以使用当前的工具来做到这一点? 我们该怎么做? 我只能找到向 Slack 发送消息的示例,而这不是我需要的。
最好的祝愿 保罗·阿博伊姆·平托
【问题讨论】:
【参考方案1】:您可以使用构建完成触发器直接将相关的构建链接在一起,而不是使用 webbook 来监控和触发构建。
大型产品有多个依赖于每个组件的组件 其他。这些组件通常是独立构建的。当一个 上游组件(例如库)更改,下游 必须重建和重新验证依赖项。团队通常 手动管理这些依赖项。
现在您可以在成功完成另一个构建时触发构建 建造。 上游构建生成的工件可以下载并 在后面的构建中使用,你也可以从这些中获取数据 变量:Build.TriggeredBy.BuildId、Build.TriggeredBy.DefinitionId、 Build.TriggeredBy.BuildDefinitionName。
请参阅build triggers documentation 了解更多信息。
另一种方法是使用Trigger another build task 并指定Condition。如果您的 TFS 服务器不支持使用构建完成触发器。除了这个任务还支持在另一个团队项目中触发构建。
【讨论】:
我会将这些信息传递给 DevOps 团队...谢谢!以上是关于Service Hook 可用于触发另一个存储库中的更新依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
如何从另一个 js 文件/函数中触发 mongoose post hook?