关于 maven 使用的一点问题

286 天前
 garibellee
开发机器双网卡 ,既连可以阿里云仓库又可以连 maven 私服,有没有什么办法可以设置开发机器从阿里云拉下来可以推到私服,这个 maven 私服不连公网,所以定期用脚本往私服上面推送引入的新依赖。
夜里,自己没想明白,所以想问问大佬们,有没有什么优雅的办法。
1516 次点击
所在节点    Java
8 条回复
Avn
286 天前
1. 在开发机器上部署个 nginx ,连接外网作为阿里云仓库的反向代理;
2. maven 私服配置个 proxy 仓库,仓库地址配置成开发机器提供的 nginx 服务。

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

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

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

总的来说,思路就是把从开发机器主动往 maven 私服「推」的行为,反过来变成 maven 私服从开发机器「拉」的行为,这样实时性可以得到提高,避免原来的推送脚本执行的空档期 maven 私服缺少依赖。
garibellee
286 天前
@Avn 感谢回复,这也可以当作一种解决办法嘿嘿
garibellee
286 天前
@mineralsalt 是的,就是基于不连公网,所以想来问问有啥好办法没有
sankooc
285 天前
你这个情况和我差不多 我用过的方法中最方便的就是定时 rsync 同步
acerphoenix
285 天前
部署个 artifactory ,它可以代理阿里云,然后你本地就配 artifactory 就行。
dif
285 天前
我们的生产,不能连接一丝公网,所以我都是把测试机器上的.m2 定期上传覆盖一份,反正 Jenkins 能跑就行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX