将 git 分支信息注入 swagger ui 信息

Injecting git branches info into swagger ui info

使用微服务架构,例如 9 个 Web 服务。

我必须部署两个 Web 服务(ws1、ws3)以测试我的修改,所以在最好的情况下我只部署 ws1 和 ws3 并进行测试,另一方面我不知道哪些分支是由其他开发人员部署在 Web 服务 ws2、ws4、ws5、ws6、ws7、ws8、ws9 上,如果发现他们部署了另一个分支(例如分支 notWhatIWant su ws6),我也必须部署这个 ws6 !

问开发者有时是没用的,因为他们回答我不记得了。 所以目前我每次都部署 9 个 Web 服务以获得我想要的 git 个分支!! 这对于 9 个 Web 服务来说非常长!

是否可以将 git 分支信息注入 swagger 中? 当我去 /info 时,我想找到已部署的 git 分支,

我不认为 git 信息在项目中是开箱即用的。您需要在此处实现一个逻辑来获取这些信息并将其添加到您的项目中。如果您有此信息,您可以添加一个控制器来显示此信息。

这是一个关于如何获取这些信息的 Spring 示例:Baeldung Link

在 CI 构建期间,您可以使用 shell 脚本从 .git/HEAD 读取分支名称,并将值 sed 读取到某些属性文件中。然后读取文件并在某种 /version 端点公开其内容。

但从战略上讲,这不是 Web 服务的开发方式。 WS1 不应该关心 WS2 使用的是哪个分支。理想情况下,当 WS1 开始使用 WS2 API - API 已经在 master.

一般来说,你拥有的分支越少,它们的寿命越短 - 你就越容易保持头脑清醒。阅读基于 tunk 的开发、通过抽象进行分支、功能切换。