2024年4月4日更新

如果只是github的速度慢,但是用gerrit速度还可以的话,升级就不必像下文中写得这样麻烦(纯粹是绕了个大弯,但也不失为一种思路),只需要把git pull的命令稍作修改,比如:

git pull https://gerrit.wikimedia.org/r/mediawiki/core.git REL1_39

如果连gerrit的速度也上不去,那就试试下面的方法。

2023年12月14日原文

话说用git升级MediaWiki也不是头一遭了,但每一次都很折腾。国内服务器要连接到MediaWiki的库可太难了,下载速度就几个KB,而且每次到20%就断了。之前都是在虚拟机上git后平移到服务器上,这次是铁了心要用git pull的方法升级一次。国内服务器连接国外库的速度真心感人,不论我选择什么时间段进行升级都没成功过,最高也就到三十几K。
git升级速度.png
发过工单给工程师,阿里云表示他们也没办法,只能靠我自己了。首先排除两个网上的方法,一个是再买一台香港服务器,然后通过香港服务器中转,这思路我接受不了,如果恰巧有一台国外的服务器倒也不失为一种办法(之前搭过一台国外的,最近发现我当初申请的域名都被炒到五千多了,感觉替别人做嫁衣了)。还有一种就是在服务器上安装vpn服务,这个我也接受不了,因为不确定会给服务器留下什么漏洞。
剩下的基本上也就下面几种了。

一、修改git配置

配置git的最低速与最低速时间。

git config --global http.lowSpeedLimit 0  
git config --global http.lowSpeedTime 999999

增加缓存大小。

git config --global http.postBuffer 1048576000

还有设置默认压缩方法

git config --global core.compression -1

反正这些方法我都试过了,没用。

二、修改hosts

运行vim /etc/hosts命令,在最后加入下面内容:

208.80.154.151 gerrit.wikimedia.org

保存后记得刷新一下。

/etc/init.d/network restart

根据官方的说明,208.80.154.137的ip地址已经被用于gerrit-old.wikimedia.org。将上面的域名改为wikimedia.org还是一样没用。
不确定是不是地址和域名的设置有问题,反正修改hosts的方法用在拉取gerrit上的代码却可以达到几M的速度。

三、修改ssh_config文件

网上还有一个方法,号称能够让git的速度从几K提升几十倍甚至数百倍,就是修改ssh配置文件。

vim /etc/ssh/ssh_config

GSSAPIAuthentication no前的注释符号#删除并保存。
我不知道别人是怎么做到提速的,反正在我这里无效。修改hosts文件后改不改这项,我在gerrit上的速度同样很快。

四、设置克隆深度

在git clone时加上--depth=1即可解决depth用于指定克隆深度,为1即表示只克隆最近一次commit。内容少就意味着下载时间短,中断的概率也就低。
可是上述的配置如果没用,那么几K的速度再怎么减少克隆的内容还是无济于事。

五、将源码仓库同步到Gitee仓库

其实现在回过头来想想也非必要,因为既然github的速度能够达到几M,那么也可以直接用github上的源码来升级。只不过在刚开始的时候操作失误(没有指定版本号),网站还被我整崩溃了。
不得已才用了网上说的方法,把源码仓库同步到Gitee仓库,方法见下图:
导入gitee仓库.png
地址中填入https://gerrit.wikimedia.org/r/mediawiki/core.git
稍等片刻就拉取完成了。重新执行升级步骤:

git pull https://gitee.com/elan365/mediawiki.git REL1_39

因为我的当前版本是1.39,只是小升级,所以还要指定版本号,否则会提示合并代码等问题或像github那次一样把网站整崩溃了。
然后执行以下命令:

composer update --no-dev
php maintenance/update.php

打开特殊页面中的版本,升级成功。

最后修改:2024 年 04 月 05 日
如果觉得我的文章对你有用,请随意赞赏