1474ceb92b9993e04d94b85d4b179db3.png

各位,Jenkins 在第一次安装启动以及后续插件的安装更新时都非常的慢,之前社区推出的国内镜像中心也还需要若干个设置步骤,现在在推荐的一个项目不需要做任何设置就可以使用国内镜像源头。欢迎大家试用,提出反馈意见。https://github.com/jenkins-zh/docker-zh

Jenkins中文社区

先看下配置后下载插件的效果吧(部分失败是我环境插件版本问题可忽略)


388b7d7b89a75e35d6eb12292c540522.gif


项目分析 这段Dockerfile中可以得知如何进行配置。 例如第6行告诉我们要在Jenkins的插件管理更新源改成: https://updates.jenkins-zh.cn/update-center.json。
FROM jenkins/jenkins:ltsENV JENKINS_UC https://updates.jenkins-zh.cnENV JENKINS_UC_DOWNLOAD https://mirrors.tuna.tsinghua.edu.cn/jenkinsENV JENKINS_OPTS="-Dhudson.model.UpdateCenter.updateCenterUrl=https://updates.jenkins-zh.cn/update-center.json"ENV JENKINS_OPTS="-Djenkins.install.runSetupWizard=false"COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/init.groovyCOPY hudson.model.UpdateCenter.xml /usr/share/jenkins/ref/hudson.model.UpdateCenter.xmlCOPY mirror-adapter.crt /usr/share/jenkins/ref/mirror-adapter.crt
第8、9行将更新中心的配置和证书复制到了$JENKINS_HOME目录。(我们在实际的操作中可以不替换第8行的xml文件,因为在web端配置了更新源后会自动的生成这个配置文件) 第7行运行了一个Jenkins初始化脚本,一起看下文件内容。很明显15、16行是将证书文件移动到了 /war/WEB-INF/update-center-rootCAs/目录下。
import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.URL;import hudson.init.InitMilestone;import jenkins.model.Jenkins;Thread.start {  while(true) {    Jenkins instance = Jenkins.getInstance();    InitMilestone initLevel = instance.getInitLevel();    Thread.sleep(1500L);    println "Jenkins not ready when handle init config..."    if (initLevel >= InitMilestone.PLUGINS_STARTED) {      InputStream input = new FileInputStream("/usr/share/jenkins/ref/mirror-adapter.crt")      FileOutputStream out = new FileOutputStream(System.getenv("JENKINS_HOME") +  "/war/WEB-INF/update-center-rootCAs/mirror-adapter.crt");      byte[] buf = new byte[1024];      int count = -1;      while((count = input.read(buf)) > 0) {        out.write(buf, 0, count);      }      println "Jenkins init ready..."      break    }  }}

配置步骤 项目文档中有说明,如果你是第一次安装Jenkins(之前没有部署)的同学可以直接下载Jenkins中国定制版本,如果之前已经部署了Jenkins,可以参考如下步骤配置。 步骤1: 修改证书文件 获取证书文件 f3fcad0294d037e325224308eb804320.png
#进入证书目录cd $JENKINS_HOME/war/WEB-INF/update-center-rootCAs#清理当前证书rm -fr  jenkins-update-center-root-ca  jenkins-update-center-root-ca.txt# 复制新证书文件curl 'https://raw.githubusercontent.com/jenkins-zh/docker-zh/master/mirror-adapter.crt' -o $JENKINS_HOME/war/WEB-INF/update-center-rootCAs/mirror-adapter.crt

步骤2: 更改更新源地址 5f9d71676342bc3aacb96c8334b6b3ca.png

ebff22403f88019ae8fc7fdb4b9d8856.png

280019acfdbfde2e3f17ba5ba1c758b3.png

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐