局域网用户间避开gerrit高速传输Android Source Code的方法

随着Project越来越多,Developer人数也成倍增长,除了大家co-work的梦想外,网络并发问题也渐渐出现了!

渐渐的,repo sync的大量请求就把Gerrit Server网宽吃满撑爆鸟。这一高能事件,让悲催并十万火急等着下code的开发者,只得眼睁睁的看着Terminal中的进度条一动不动且无能为力了…….

肿么办??????

别急,linux中有个好用的shell应用程序叫做nc,要澄清的是:此nc非彼nc(脑残)。

有了这个东东,我们就可以在内网间相互share Android Source Code了。

举个栗子:

   假设A同仁已经下完 code, B同仁迟迟没有下载完成。并且B同仁急着要用新Code。
1.那么先在B同仁的机器 (比如B的IP: 192.168.1.1)上建立source及.repo 目录并进入.repo目录中:
                                $ mkdir source
                                $ cd source
                                $ mkdir .repo
                                $ cd .repo

2 .然后利用nc开始从内网5000端口等待接受传送者提供的整个 .repo目录

(Tips:使用“tar xvf –”组合命令,可以边接收边解压收到的内容资讯)

                                $ nc -l 5000 | tar xvf –     

3 .在A同仁机器上,进入已经下好的code的source中的.repo 目录,然后执行nc命令开始从5000端口传输本机的repo内容。

(Tips:使用“tar cvf – ./”组合命令,可以将内容边打包边利用nc进行传送)

                                $ cd source/.repo/
                                $ tar cvf – ./ | nc192.168.1.15000
4 .传输完成后再 B同仁机器上,进入 source目录执行repo sync -l 就可以得到整个工作目录了
                                $ cd source

                                $ repo sync -l

 该方法利用 nc+tar的方法来进行传输,传输过程几乎是纯数据流方式并且没有太多损耗,在纯净的千兆网络环境下(两端都在一个交换机内或者直联)测试能够接近 100MB/S以上的理论峰值速度.


到这里,大家可以利用这点经验去改善并享受gerrit被阻塞的“光辉岁月”吧。

猜你喜欢

转载自blog.csdn.net/a4262562/article/details/51470074