Skip to content

Jenkins安装插件提速

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

替换原来的官方的json,看看清华源拉下来的是什么

  • 1-操作步骤
$ cd {你的Jenkins工作目录}/updates  #进入更新配置位置
$ cd {你的Jenkins工作目录}/updates  #进入更新配置位置
  • 2-sed 替换
$ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
$ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

替换完之后,速度杠杠的

操作步骤

以上的配置Json其实在Jenkins的工作目录中,提供三种方式加速插件安装,第1、2种本质是一样的,第3种适合当前所有版本!

第一种方式:使用vim

方式:通过Vim对Jenkins启动后从官方地址下载的default.json修改,需要先等default.json下载完成才能进行

bash
$ cd ${JENKINS_HOME}/updates  #进入更新配置位置
$ vim default.json   #这个Json文件与上边的配置文件是相同的
$ cd ${JENKINS_HOME}/updates  #进入更新配置位置
$ vim default.json   #这个Json文件与上边的配置文件是相同的

这里wiki和github的文档不用改,我们就可以成功修改这个配置

使用vim的命令,如下,替换所有插件下载的url

bash
:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g

替换连接测试url

bash
:1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g
:1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g

进入vim先输入然后再粘贴上边的后边的命令,注意不要写两个冒号!

修改完成保存退出:wq

第二种方式:使用sed

方式:通过 sed 命令对 Jenkins 启动后从官方地址下载的 default.json 修改,需要先等 default.json 下载完成才能进行

bash
$ cd ${JENKINS_HOME}/updates  #进入更新配置位置
$ sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
$ cd ${JENKINS_HOME}/updates  #进入更新配置位置
$ sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json

这是直接修改的配置文件,如果前边 Jenkins 用 sudo 启动的话,那么这里的两个 sed 前均需要加上 sudo

第三种方式:下载一份update-center.json,手动修改后放到本地web服务器中

方式:提前准备好修改后的update-center.json,代替 default.json 发挥作用,无需等官方 default.json 下载

bash
cd $JENKINS_HOME
curl -Lo update-center.json https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' update-center.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' update-center.json
#安装Nginx
sudo apt install nginx -y
#移动配置到nginx默认web目录
sudo mv update-center.json /var/www/html/
#修改Jenkins配置文件
sed -i "s#http://本地Nginx-IP/update-center.json#https://updates.jenkins.io/update-center.json#g" hudson.model.UpdateCenter.xml
cd $JENKINS_HOME
curl -Lo update-center.json https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' update-center.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' update-center.json
#安装Nginx
sudo apt install nginx -y
#移动配置到nginx默认web目录
sudo mv update-center.json /var/www/html/
#修改Jenkins配置文件
sed -i "s#http://本地Nginx-IP/update-center.json#https://updates.jenkins.io/update-center.json#g" hudson.model.UpdateCenter.xml

重启Jenkins,安装插件试试,简直超速!!

原理

之前刚写本文时流程是 Jenkins 启动后,会通过 hudson.model.UpdateCenter.xml 中的 url 下载 update-center.jsonid 设置成 json 的名称放入 updates 目录中,当 updates/default.json 生成后,就不再更新它。

修改方式1与2就是通过修改其下载后的 updates/default.json 解决问题。然而现在情况变了,新版本Jenkins(2.272实测,其它版本请自测)不再将update-center.json放入updates目录中了,所以后续版本推荐第三种方式