Jenkins实现插件下载加速
1.告诉jenkins 我哪些插件需要更新
jenkins插件清华大学镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
1.进入jenkins系统管理
2.进入插件管理(Manage Plugins)——高级——升级站点
2、欺骗jenkins 去清华真实下载插件
绑定 mirrors.jenkins-ci.org host 到本机
grep jenkins /etc/hosts ### jenkins ### 127.0.0.1 mirrors.jenkins-ci.org
安装nginx反向代理到清华
cat mirrors.jenkins-ci.org.conf
server
{
listen 80;
server_name mirrors.jenkins-ci.org;
location / {
proxy_redirect off;
proxy_pass https://mirrors.tuna.tsinghua.edu.cn/jenkins/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";
#proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.49 Safari/537.36";
proxy_set_header Accept-Language "zh-CN";
}
index index.html index.htm index.php;
#error_page 404 /404.html;
location ~ /\.
{
deny all;
}
access_log /data/weblog/xx.access.log; ###需要提前创建文件否则报错
error_log /data/weblog/xx.error.log;
}
原理
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 这个文件里面 包含了所有插件的更新地址 清华把这个文件镜像过来了 ,但是没有把里面的插件升级地址改成清华。 这样只会获取更新信息快,实际下载不快。
curl -vvvv http://updates.jenkins-ci.org/download/plugins/ApicaLoadtest/1.10/ApicaLoadtest.hpi 302到 http://mirrors.jenkins-ci.org/plugins/ApicaLoadtest/1.10/ApicaLoadtest.hpi 又重定向到一个ftp地址分流。 清华的地址是: https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/ApicaLoadtest/1.10/ApicaLoadtest.hpi 只要把mirrors.jenkins-ci.org 代理到 mirrors.tuna.tsinghua.edu.cn/jenkins 即可。
按照推荐做法,发现速度太快了,基本上秒下。 网上的大部分教程只做到第一步,设置完了,有时候能加速,有时候不能,这才是真正的最终解决方案。
赞赏
微信赞赏
支付宝赞赏