繁体   English   中英

GitLab CI:Spring 启动对另一个项目的依赖

[英]GitLab CI: Spring boot dependecy on another project

我有一个集群应用程序架构,其中我的 3 个主要服务使用一个依赖项(我们称之为公共),其中包含其他 3 个服务使用的模式文件和其他实用程序。

目前,我已经通过 Gitlab CI 通过 artifactory 将所有 3 个 spring boot 应用程序部署在 k8s 上进行图像管理。

现在,每次我对我的公共服务进行更改时,我都必须更改 pom.xml 中公共的版本(这样它才不会与之前的工件图像冲突),并且还要更改我的其他 3 个服务的 pom 版本依赖于这个新版本并推送所有 4 个(首先推送公共资源,以便新的构建映像在 artifactory 中可用,然后是其他 3 个)服务。

有没有更好的方法来管理这个。 如果我的 3 个服务能够获取最新的通用版本并将其添加到我的 pom 版本中,我会更喜欢

Reliza Hub 目前支持此功能(免责声明:我正在开发该项目)。

此处记录了获取最新版本的工作流程(请参阅工作流程 2.获取项目或产品的最新版本)。

想法如下:

  1. 您为共享库定义项目并从 GitLab CI 进行配置,以在每次使用Reliza Client构建时自动将构建元数据流式传输到 Reliza Hub。
  2. 也可以通过 Reliza Hub 维护自动版本控制(意味着 Hub 会根据您选择的版本控制架构在每次构建时为您增加版本) -为此您需要使用 Reliza Client 的getversion命令。
  3. 然后,您可以使用此自动版本增量在构建时更新 pom.xml 中的版本。 所以这个过程将完全自动化。
  4. 完成后,在 3 个相关服务中的每一个的 CI 管道中,您都可以使用 Reliza Client 的getlatestrelease命令为您的共享库调用 Reliza Hub。 此调用将返回共享库最新版本的所有元数据,包括其版本。
  5. 然后,您可以将此版本插入到依赖服务的 pom 文件中。

希望这可以帮助。

暂无
暂无

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

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