前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins插件源使用国内镜像中心的最新方法

Jenkins插件源使用国内镜像中心的最新方法

作者头像
DevOps云学堂
发布2020-02-26 10:25:35
3.6K0
发布2020-02-26 10:25:35
举报
文章被收录于专栏:DevOps持续集成DevOps持续集成

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

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



项目分析

这段Dockerfile中可以得知如何进行配置。例如第6行告诉我们要在Jenkins的插件管理更新源改成:

https://updates.jenkins-zh.cn/update-center.json。

FROM jenkins/jenkins:lts
ENV JENKINS_UC https://updates.jenkins-zh.cn
ENV JENKINS_UC_DOWNLOAD https://mirrors.tuna.tsinghua.edu.cn/jenkins
ENV 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.groovy
COPY hudson.model.UpdateCenter.xml /usr/share/jenkins/ref/hudson.model.UpdateCenter.xml
COPY 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: 修改证书文件

获取证书文件

#进入证书目录
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: 更改更新源地址

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档