1
Avn 2023-07-30 02:51:09 +08:00
1. 在开发机器上部署个 nginx ,连接外网作为阿里云仓库的反向代理;
2. maven 私服配置个 proxy 仓库,仓库地址配置成开发机器提供的 nginx 服务。 跟翻墙的效果类似,相当于把开发机器当作 maven 私服的 VPN ,“帮助” maven 私服访问外网的阿里云仓库。 考虑到内网的安全问题,可以在开发机器的 nginx 上做限制,只代理阿里云仓库的几个特定地址。 |
2
mineralsalt 2023-07-30 02:54:39 +08:00
@Avn #1 人家都说了不连公网, 不是不能连公网
|
3
Avn 2023-07-30 03:47:01 +08:00 1
@mineralsalt #2 那就在开发机器上用 nginx 把从阿里云仓库拉取到的、保存在开发机器的依赖,暴露给 maven 私服。
1. 相当于把开发机器本地保存的依赖作为一个小型的仓库,对内网提供服务; 2. maven 私服配置个 proxy 仓库,仓库地址配置成开发机器提供的 nginx 服务。 当 maven 私服收到一个依赖的请求的时候,如果 maven 私服没有,就会从开发机器提供的服务里面拉取。 总的来说,思路就是把从开发机器主动往 maven 私服「推」的行为,反过来变成 maven 私服从开发机器「拉」的行为,这样实时性可以得到提高,避免原来的推送脚本执行的空档期 maven 私服缺少依赖。 |
4
garibellee OP @Avn 感谢回复,这也可以当作一种解决办法嘿嘿
|
5
garibellee OP @mineralsalt 是的,就是基于不连公网,所以想来问问有啥好办法没有
|
6
sankooc 2023-07-31 09:13:44 +08:00 1
你这个情况和我差不多 我用过的方法中最方便的就是定时 rsync 同步
|
7
acerphoenix 2023-07-31 09:46:23 +08:00
部署个 artifactory ,它可以代理阿里云,然后你本地就配 artifactory 就行。
|
8
dif 2023-07-31 10:42:47 +08:00
我们的生产,不能连接一丝公网,所以我都是把测试机器上的.m2 定期上传覆盖一份,反正 Jenkins 能跑就行。
|