CICD(四) Jenkins配置國內插件下載代理

Jenkins配置國內插件下載代理

前言

  • 爲何要使用國內的插件下載地址?
    • jenkins_plugins下載的RS機器在海外,國內用戶下載插件速度慢,且加速須要***,成本比較高。下圖是現有狀況的展現圖:

CICD(四) Jenkins配置國內插件下載代理

- 百度找到的加速下載插件的方式無非是離線下載上傳或者修改`升級站點`的錯誤方法(這些方法100%不奏效,你們要是能夠的話算我輸)

CICD(四) Jenkins配置國內插件下載代理

正確的加速代理設置方法

  • 原理介紹:
    • 利用nginx的方向代理和rewrite規則,配合hosts劫持方法,簡單實現用國內清華鏡像插件站點代替官方的下載
      CICD(四) Jenkins配置國內插件下載代理

配置方法

  • 要點:nginx

    1. 若是你的jenkins在內網能NAT上網的話,且所在機器的80端口沒有被佔用的狀況下,直接在jenkins安裝個nginx
    2. 若是你的jenkins不能訪問外網,或者80端口被非nginx服務佔用,那就另外找個能上網的機器或者部署了nginx的服務器
    3. 修改nginx配置
    4. 修改jenkins服務器的hosts配置
  • 實操vim

    • 個人nginx和jenkins服務器是分開的
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. 插件下載測試

方案出處

  • 馬哥教育張世傑老師的cicd課程
相關文章
相關標籤/搜索