Skip to content

Latest commit

 

History

History
125 lines (84 loc) · 4.6 KB

README.md

File metadata and controls

125 lines (84 loc) · 4.6 KB

jenkins-update-center

GitHub

Jenkins mirror update center generator

Update time

Updated daily at 1 AM UTC

Mirror site

file update-center.json

Site Source CDN
tencent https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/tencent/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tencent/update-center.json
huawei https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/huawei/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/huawei/update-center.json
tsinghua https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/tsinghua/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tsinghua/update-center.json
ustc https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/ustc/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/ustc/update-center.json
bit https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/bit/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/bit/update-center.json
aliyun https://raw.githubusercontent.com/lework/jenkins-update-center/master/updates/aliyun/update-center.json https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/aliyun/update-center.json

mirror site speed test

curl -sSL https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/speed-test.sh | bash

Usage mirror site

  1. Upload custom CA file.

    [ ! -d /var/lib/jenkins/update-center-rootCAs ] && mkdir /var/lib/jenkins/update-center-rootCAs
    wget https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/rootCA/update-center.crt -O /var/lib/jenkins/update-center-rootCAs/update-center.crt
    chown jenkins.jenkins -R /var/lib/jenkins/update-center-rootCAs

    Or turn off the signature verification of the update service.

    sed -i 's#$JENKINS_JAVA_OPTIONS#$JENKINS_JAVA_OPTIONS -Dhudson.model.DownloadService.noSignatureCheck=true#g' /etc/init.d/jenkins
    
    systemctl daemon-reload
  2. Change Update Site url.

    sed -i 's#https://updates.jenkins.io/update-center.json#https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tsinghua/update-center.json#' /var/lib/jenkins/hudson.model.UpdateCenter.xml
    rm -f /var/lib/jenkins/updates/default.json
    
    systemctl restart jenkins

    Or it can be modified on the web.

    Go to JenkinsManage JenkinsManage PluginsAdvanced → Update Site and submit URL to your https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tsinghua/update-center.json

Steps to create local mirror of Jenkins update center:

  1. Clone code:
git clone https://github.com/lework/jenkins-update-center.git 
  1. Generate self-signed certificate:
cd jenkins-update-center
openssl genrsa -out rootCA/update-center.key 2048
openssl req -new -x509 -days 3650 -key rootCA/update-center.key -out rootCA/update-center.crt
  1. Rsync into your www root directory:
rsync -avz --delete rsync://rsync.osuosl.org/jenkins/ /var/www/jenkins
  1. Install dependencies:
yum -y install make gcc automake autoconf python3-devel git
pip install -r requirements.txt
  1. Setup mirrors json:

    Set your mirror url

    # mirrors.json
    {
        "localhost": "http://localhost/jenkins/"
    }
    
  2. Run the following python code:

python3 generator.py
cp localhost/update-center.json /var/www/jenkins/
  1. Put update-center.crt into ${JENKINS_HOME}/update-center-rootCAs folder.
  2. Go to Jenkins → Manage Jenkins → Manage Plugins → Advanced → Update Site and submit URL to your update-center.json.