关于 maven 使用的一点问题

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

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

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

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

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

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

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

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

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

© 2021 V2EX