推送通知和 Spring Cloud Bus

许多源代码存储库提供商(例如 Github、Gitlab、Gitea、Gitee、Gogs 或 Bitbucket)通过 Webhook 通知您存储库中的更改。 您可以通过提供商的用户界面将 Webhook 配置为 URL 和您感兴趣的一组事件。 例如,Github 对 Webhook 使用 POST,其中 JSON 正文包含提交列表,标头 () 设置为 。 如果您在库上添加依赖项并在 Config Server 中激活 Spring Cloud Bus,则会启用端点。X-Github-Eventpushspring-cloud-config-monitor/monitorspring-doc.cn

激活 webhook 后, Config Server 会针对它认为可能已更改的应用程序发送目标。 可以制定更改检测策略。 但是,默认情况下,它会在文件中查找与应用程序名称匹配的更改(例如,以应用程序为目标,而以所有应用程序为目标)。 当您想要覆盖该行为时,要使用的策略是 ,它接受请求标头和正文作为参数,并返回已更改的文件路径列表。RefreshRemoteApplicationEventfoo.propertiesfooapplication.propertiesPropertyPathNotificationExtractorspring-doc.cn

默认配置与 Github、Gitlab、Gitea、Gitee、Gogs 或 Bitbucket 一起开箱即用。 除了来自 Github、Gitlab、Gitee 或 Bitbucket 的 JSON 通知外,您还可以通过使用格式编码的 body 参数(格式为 . 这样做会广播到与模式匹配的应用程序(可以包含通配符)。/monitorpath={application}{application}spring-doc.cn

只有在 Config Server 和 Client 端应用程序中都激活了 时,才会传输 。RefreshRemoteApplicationEventspring-cloud-bus
默认配置还会检测本地 git 存储库中的文件系统更改。在这种情况下,不使用 Webhook。但是,一旦您编辑了配置文件,就会广播刷新。