Jenkins 镜像无法更新插件中心的3种解决方法

通过Docker 镜像安装Jenkins的情况下,每次都会碰到在Jenkins插件无法安装的情况,导致所有的插件安装失败。

Jenkins 镜像无法更新插件中心的3种解决方法_第1张图片

通过 Docker logs 容器名 来查看实际运行的日志。例如,docker logs myjenkins -f 来时实的输出myjenkins容器的日志, 提示如下:

Caused: java.io.IOException: Failed to load http://updates.jenkins-ci.org/download/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi to /var/jenkins_home/plugins/antisamy-markup-formatter.jpi.tmp
	at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1217)
Caused: java.io.IOException: Failed to download from http://updates.jenkins-ci.org/download/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi (redirected to: http://mirrors.jenkins-ci.org/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi)

意思就是,docker 容器无法从 http://updates.jenkins-ci.org/download/plugins/ 链接处下载Jenkin 插件

通过Jenkins 的 Github 可以看到(链接 jenkinsci/docker) ,官方提供了设置来让我们设置插件中心。

对于Jenkin插件中心设置,主要相关的几个Docker容器环境变量说明如下:

  • JENKINS_UC:主要的插件更新中心,会提供Jenkin 长期支持的版本。默认值就是 https://updates.jenkins.io.
  • JENKINS_UC_EXPERIMENTAL:主要的插件开发/实验版本更新中心。
  • JENKINS_UC_DOWNLOAD:从插件更新中心的下载链接,默认为 $JENKINS_UC/downloads

方案一:所以,很多用户,为了解决这个问题,会自己重新打一个Jenkins Images,然后覆盖这个 JENKINS_UC_DOWNLOAD 参数,或者在启动容器的时候, 重载这个 JENKINS_UC_DOWNLOAD 参数。

本人未试过,但是此法应该是可行的。(主要是懒不想这么做,因为大部分的安装都已经做完了,不想重新来一遍,所以主要试了如下的方案)

方案二:以root的用户进入容器,然后更新镜像源。等待更新完成,通常能够解决网络Jenkins插件中心网络不可达的问题。

docker exec -it -u root myjenkins bash
apt-get update

方案三: (推荐)在插件安装界面先继续,注册完Admin账户后登录,在 jenkins --> Manage Jenkins --> Manage Plugins --> Advanced 的选项中选中更新Update Site。 将更新源重 https://updates.jenkins-ci.org/update-center.json 替换成 http://mirror.esuni.jp/jenkins/updates/update-center.json。注意替换后的没有(https)。

Jenkins 镜像无法更新插件中心的3种解决方法_第2张图片

上面方法尝试完之后,可以在 Jenkins -> Update Center看到如下成功的界面:

Jenkins 镜像无法更新插件中心的3种解决方法_第3张图片

虽然还是会有些许插件无法正常更新,但是已经无妨了。

参考文档:


  1. How can I get docker container root’s password - Stack Overflow
  2. Can’t download plugins from https://updates.jenkins.io/download/plugins/ with install-plugins.sh · Issue #594 · jenkinsci/docker
  3. 【Devops】【Jenkins】Jenkins插件安装失败处理方法 - Angel挤一挤 - 博客园
  4. docker/README.md at master · jenkinsci/docker

你可能感兴趣的:(问题解决)