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

关于 maven 使用的一点问题

  •  
  •   garibellee · 273 天前 · 1506 次点击
    这是一个创建于 273 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开发机器双网卡 ,既连可以阿里云仓库又可以连 maven 私服,有没有什么办法可以设置开发机器从阿里云拉下来可以推到私服,这个 maven 私服不连公网,所以定期用脚本往私服上面推送引入的新依赖。
    夜里,自己没想明白,所以想问问大佬们,有没有什么优雅的办法。
    8 条回复    2023-07-31 10:42:47 +08:00
    Avn
        1
    Avn  
       273 天前
    1. 在开发机器上部署个 nginx ,连接外网作为阿里云仓库的反向代理;
    2. maven 私服配置个 proxy 仓库,仓库地址配置成开发机器提供的 nginx 服务。

    跟翻墙的效果类似,相当于把开发机器当作 maven 私服的 VPN ,“帮助” maven 私服访问外网的阿里云仓库。
    考虑到内网的安全问题,可以在开发机器的 nginx 上做限制,只代理阿里云仓库的几个特定地址。
    mineralsalt
        2
    mineralsalt  
       273 天前
    @Avn #1 人家都说了不连公网, 不是不能连公网
    Avn
        3
    Avn  
       273 天前   ❤️ 1
    @mineralsalt #2 那就在开发机器上用 nginx 把从阿里云仓库拉取到的、保存在开发机器的依赖,暴露给 maven 私服。

    1. 相当于把开发机器本地保存的依赖作为一个小型的仓库,对内网提供服务;
    2. maven 私服配置个 proxy 仓库,仓库地址配置成开发机器提供的 nginx 服务。

    当 maven 私服收到一个依赖的请求的时候,如果 maven 私服没有,就会从开发机器提供的服务里面拉取。

    总的来说,思路就是把从开发机器主动往 maven 私服「推」的行为,反过来变成 maven 私服从开发机器「拉」的行为,这样实时性可以得到提高,避免原来的推送脚本执行的空档期 maven 私服缺少依赖。
    garibellee
        4
    garibellee  
    OP
       272 天前
    @Avn 感谢回复,这也可以当作一种解决办法嘿嘿
    garibellee
        5
    garibellee  
    OP
       272 天前
    @mineralsalt 是的,就是基于不连公网,所以想来问问有啥好办法没有
    sankooc
        6
    sankooc  
       271 天前   ❤️ 1
    你这个情况和我差不多 我用过的方法中最方便的就是定时 rsync 同步
    acerphoenix
        7
    acerphoenix  
       271 天前
    部署个 artifactory ,它可以代理阿里云,然后你本地就配 artifactory 就行。
    dif
        8
    dif  
       271 天前
    我们的生产,不能连接一丝公网,所以我都是把测试机器上的.m2 定期上传覆盖一份,反正 Jenkins 能跑就行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1297 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:56 · PVG 07:56 · LAX 16:56 · JFK 19:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.