Jenkins 插件中心国内镜像源发布

非常好,补充完善一下,方便后面还遇到同样问题的同学们,能及时解决问题。

已经在 1.0.13 版本中解决了找不到目录以及404的问题。另外,申明一下,这里提供的只是一个国内源的方案,并不是说用了之后就会很快或者非常快

除了可以通过界面来使用国内源以外,也可以通过命令行来做。

jcli center mirror

更多内容,请参考这里的介绍。

国内更新中心近一个月内的部分访问统计数据如下:

  update-center:
    data:
      "2020-01-12": 20
      "2020-01-13": 158
      "2020-01-14": 145
      "2020-01-15": 147
      "2020-01-16": 126
      "2020-01-17": 143
      "2020-01-18": 86
      "2020-01-19": 108
      "2020-01-20": 109
      "2020-01-21": 103
      "2020-01-22": 59
      "2020-01-23": 60
      "2020-01-24": 44
      "2020-01-25": 51
      "2020-01-26": 44
      "2020-01-27": 59
      "2020-01-28": 83
      "2020-01-29": 89
      "2020-01-30": 73
      "2020-01-31": 84
      "2020-02-01": 76
      "2020-02-02": 106
      "2020-02-03": 146
      "2020-02-04": 77

从数据上看来,还是有很多人没有用到。

遇到疑难问题:
jenkins版本: 2.220,2.204 两个版本都一样结果

配置更新中心地址:http://updates.jenkins-zh.cn/update-center.json ,获取时:There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&version=2.220

修改为:https://updates.jenkins-zh.cn/update-center.json
能正常更新下载update-center.json,但是安装插件时,有报错找不到有效证书,我检查了jenkins\war\WEB-INF\update-center-rootCAs目录,下面确实有证书,而且参考前面给出的证书地址:https://github.com/jenkins-zh/mirror-adapter/blob/master/rootCA/mirror-adapter.crt
发现这个证书与本地的是一样的证书,重新下载这个地址的证书覆盖本地的,也一样报错无效证书

我测试了 2.220 后,并没有发现上面的问题:

测试步骤:

  1. 安装 Jenkins jcli center start --version 2.220
  2. 安装简体中文插件,配置 jcli
  3. 启用中文社区的镜像 jcli center mirror && jcli plugin check
  4. 安装插件 jcli plugin install pipeline-restful-api 不到一分钟完成插件的安装
  5. 查看安装过程 jcli center watch

其中 Java 的版本如下:
openjdk version "1.8.0_222"

2.204 的安装命令如下:

jcli center start --version 2.204 --lts=false

我是直接下载2.220版本的war, 并且直接java -jar jenkins.war 启动应用, 然后登录之后,直接配置更新中心地址,就报上述错误,,没有其他操作步骤,请问我是否有漏掉什么步骤?

你按照我上面的步骤再试试?

jcli我仔细看过官网文档和github上的问题列表,但是还是遇到各种问题,目前没用起来,后面再研究。
环境:windows10 , jdk8
jenkins之前都是直接下载2.220 的war包,并用java -jar jenkins.war启动,然后做一下操作:

  1. 从清华源下载localization-support,localization-zh-cn两个插件(清华源没有1.0.10,下载latest版本2019-12-15 22:24),在插件管理页面上直接导入
  2. 按照文档:在右下方点击Jenkins中文社区,点击使用按钮,在设置更新中心地址
  3. 设置地址 https ://updates.jenkins-zh.cn/update-center.json ,点击提交, 获取
  4. 过一会后点击可安装插件列表,点击任何插件都会报错证书无效

上面的步骤没问题,我唯一没测试过的就是 widnows 环境了

centos下没有任何问题,就是windows下有问题

你这个有坑,wget之后操作依然报错。后来看了一下本地下载下来的mirror-adapter.crt文件内容,竟然是html,应该是把这个页面下载下来了……
手动把证书内容写入文件后问题解决。

另外,证书文件放在$JENKINS_HOME/update-center-rootCAs目录下也是可以的。
建议手动创建此目录并将证书文件放在此处,更容易备份,也容易知道证书是做了修改,不和软件自带证书放在一处,容易排查问题。

1赞

区分开,确实是比较好的一个点子。

代码能解决的事情就不考验动手能力了!

写了个地址修改脚本,可以实现一键修改:

执行命令:bash -c "$(curl -fsSL https://gitee.com/hummerstudio/jenkins-update-center-changer/raw/master/jenkins-update-center-changer.sh)" 即可!

1赞

能写代码,绝对不吵吵

好东西啊,减少了不少重复工作量