2021-04-09 16:34:14
浏览数 (1)
Jenkins配置国内插件下载代理
前言
- 为什么要使用国内的插件下载地址?
- jenkins_plugins下载的RS机器在海外,国内用户下载插件速度慢,且加速需要***,成本比较高。下图是现有情况的展示图:
代码语言:javascript
复制- 百度找到的加速下载插件的方式无非是离线下载上传或者修改`升级站点`的错误方法(这些方法100%不奏效,大家要是可以的话算我输)
正确的加速代理设置方法
- 原理介绍:
- 利用nginx的方向代理和rewrite规则,配合hosts劫持方法,简单实现用国内清华镜像插件站点代替官方的下载
配置方法
- 要点:
- 如果你的jenkins在内网能NAT上网的话,且所在机器的80端口没有被占用的情况下,直接在jenkins安装个nginx
- 如果你的jenkins不能访问外网,或者80端口被非nginx服务占用,那就另外找个能上网的机器或者部署了nginx的服务器
- 修改nginx配置
- 修改jenkins服务器的hosts配置
- 实操
代码语言:javascript
复制1. 配置nginx下载源
#] cat > /etc/yum.repos.d/nginx.repo << EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
2. 安装nginx
#] yum -y install nginx
3. 代理配置
#] vim /etc/nginx/conf.d/jenkins_proxy.conf
server {
listen 80;
server_name updates.jenkins-ci.org;
access_log /data/logs/nginx/jenkins_proxy.log;
location /download/plugins {
proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
proxy_pass http://mirrors.tuna.tsinghua.edu.cn;
}
}
#] nginx && nginx -t && nginx -s reload
4. jenkins hosts配置
#] vim /etc/hosts
10.18.99.39 updates.jenkins-ci.org
5. 插件下载测试