V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hjahgdthab750
V2EX  ›  程序员

多服务项目如何接入 ci?

  •  
  •   hjahgdthab750 · 84 天前 · 1074 次点击
    这是一个创建于 84 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如

    DirectoryX:
    	project-common
        project-broker
        project-api
        project-consumer
    

    1.如果把 DirectoryX 作为一个 git 项目,如何使用 gitlab-ci.yml 做到在 api 或者 broker 变动时仅更新需要更新的制品?

    2.如果把 broker,api,consumer 作为单独的 git 项目,在代码编写和查阅其他关联服务时会麻烦的多

    14 条回复    2021-07-30 15:55:14 +08:00
    vemier
        1
    vemier   84 天前
    gitlab-ci 可以用 commit message 触发指定模块的 ci
    xzysaber
        2
    xzysaber   84 天前
    每个项目单独提供一个 Dockerfile 行不行?
    SoloCompany
        3
    SoloCompany   84 天前 via iPhone
    写脚本很好解决的事情
    hjahgdthab750
        4
    hjahgdthab750   84 天前
    @vemier #1 哥哥可以举个例子吗,谢谢了
    hjahgdthab750
        5
    hjahgdthab750   84 天前
    @SoloCompany #3 是 make 脚本吗?
    SoloCompany
        6
    SoloCompany   84 天前
    @hjahgdthab750 #5 你自己熟悉什么语言就用什么语言, 甚至直接 bash 都可以, 我选择 nodejs 便于处理一些更复杂一些的逻辑
    xuanbg
        7
    xuanbg   84 天前
    broker,api,consumer 在你的项目里面是不是不同的模块?你把模块改成包试试?
    vemier
        8
    vemier   84 天前
    xuanbg
        9
    xuanbg   84 天前
    都微服务了,就别再搞多模块项目了吧。有公共依赖,打个包发到 maven 私服上面,pom 引一下就好。
    wenbinwu
        10
    wenbinwu   84 天前
    > 如何使用 gitlab-ci.yml 做到在 api 或者 broker 变动时仅更新需要更新的制品
    检查哪个项目(文件夹)更新了呗
    hjahgdthab750
        11
    hjahgdthab750   84 天前
    @xuanbg #7 不同的模块
    hjahgdthab750
        12
    hjahgdthab750   84 天前
    @xuanbg #9 每个模块一个 git 项目吗
    xuanbg
        13
    xuanbg   84 天前
    @hjahgdthab750 不是每个模块一个 git 项目,而是每个服务都是一个独立项目,每个项目都只有一个模块。看起来没什么区别,但实际上两者完全不是一个事。
    leoskey
        14
    leoskey   83 天前
    可以通过提交信息添加关键字、分支名 、tag 名判断。例如提交分支为 feat-api 开头,则触发 project-api 。或者使用 gitlab-ci.yml 的 only 配置
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4080 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 02:57 · PVG 10:57 · LAX 19:57 · JFK 22:57
    ♥ Do have faith in what you're doing.