【研发工具】Jenkins镜像源配置问题及解决方案

一、目的

最近在公司内使用Jenkins时,最开始用的lts-jdk17版本,出现了ssl错误,java验证签名的相关问题,根据AI和网上的说明进行相关配置还是有问题,同时还存在清华源、阿里、华为云不可用,最后测试华为云最新版本需要对应jdk21+以上的jenkins才可用,这里记录一下问题解决过程。

二、Jenkins相关问题

2.1 配置插件源不可用

一开始使用的国内插件源如下,发现不可用了报404错误:

bash 复制代码
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

可快速验证某镜像源是否存活:

bash 复制代码
curl -v "https://mirrors.huaweicloud.com/jenkins/updates/update-center.json"


最后测试多家镜像源,同时翻了一下网上帖子,截至2026年6月,国内部分 Jenkins 镜像源仍可用,但并非全部稳定;清华、阿里、腾讯等源常出现 404 或元数据未同步,华为云镜像源相对可靠,建议优先使用或准备离线安装方案。‌‌
解决方案:
1、使用华为云镜像源,但配置时地址需要注意

bash 复制代码
#错误地址
https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

#可用地址(截止:2026-05-29)
https://mirrors.huaweicloud.com/jenkins/update-center.json

**2、考虑自建内网镜像站或使用代理缓存(如Nexus)(**这里就不演示了)
3、手动导入插件地址
虽然各种镜像源的自动更新站点不可用,但镜像仓库插件还可用,也可以通过手动导入相关插件到Jenkins,这个适合自己测试玩。如下插件


2.2 如果配置https镜像源时,提示ssl问题,可启用" 忽略签名验证 "

在docker环境下可以配置如下yaml文件:

bash 复制代码
version: '3.2'

services:
  web:
    image: 'jenkins/jenkins:lts-jdk21' 
    container_name: 'jenkins'
    restart: always
    environment:
      - JAVA_OPTS=-Dhudson.model.DownloadService.noSignatureCheck=true
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - './jenkins_home:/var/jenkins_home'
      - '/var/run/docker.sock:/var/run/docker.sock'

2.3 更新低版本的jenkins

jenkins更新日新月异,迭代和更新的速度很快,为了保障系统的安全和稳定,我们经常需要更新到新的版本上去,但历史构建信息需要保持不受影像,这里有两种更新方法;
1、jdk不变的情况下,可以通过jenkins的war包进行更新

  • 停止 Jenkins 服务 ‌(如 systemctl stop jenkins),避免替换时文件被占用;
  • 备份当前 jenkins.war 和整个 JENKINS_HOME ‌(默认 /var/lib/jenkins),以防回滚;
  • 下载目标版本的官方 WAR 包 ‌(如 LTS 版从 https://www.jenkins.io/download/ 或镜像站获取);
  • 替换原 WAR 文件 ‌(路径通常为 /usr/lib/jenkins/jenkins.war 或 /usr/share/jenkins/jenkins.war,可通过 ps aux | grep jenkins 确认);
bash 复制代码
#备份
cp jenkins.war jenkins.war.back

#复制war包到jenkins文件夹下
mv /usr/jenkins.war /usr/share/jenkins

ps:如果是window环境下安装,直接替换 JENKINS_HOME‌下的war的文件夹即可;

  • 启动服务并验证 ‌(systemctl start jenkins,访问 Web 界面检查版本与插件兼容性)。‌‌
    2、跨Jdk多版本更新jenkins
    a、首先需要备份数据:
    1、配置文件 ‌:通常位于JENKINS_HOME目录。 2、**构建数据** ‌:存储在JENKINS_HOME/jobs目录。
    3、插件 ‌:可以通过Jenkins的插件管理界面导出插件列表。
    b、升级JDK,升级JDK本身并不直接影响Jenkins的数据,但确保新版本的JDK与旧版本兼容是很重要的。
  • 验证兼容性‌:查看Jenkins的官方文档,确认JDK 21是否兼容当前的Jenkins版本(例如,LTS版本或最新稳定版本)。
  • 环境准备‌:在升级之前,在非生产环境(如测试服务器)上安装JDK 21,并验证其与现有Jenkins设置的兼容性。
  • dokcer更新:直接下载最新的容器镜像,更新即可;
    c、更新jenkins, 在确认JDK兼容性后,更新Jenkins到支持JDK 21的版本。在window上需要确保 JAVA_HOME 和 PATH 环境变量指向新的JDK 21。在docker中替换最新镜像即可。
    d、恢复数据。在新安装的Jenkins实例上恢复之前备份的数据:
  • 配置文件 ‌:将备份的配置文件复制到新的$JENKINS_HOME目录。
  • 插件‌:通过插件管理界面重新安装或导入之前备份的插件列表。
  • 构建数据 ‌:将备份的构建数据文件夹复制到新的$JENKINS_HOME/jobs目录。
    通过以上步骤,你可以有效地从JDK 17升级到JDK 21,同时确保Jenkins的数据不丢失且系统稳定运行。
    注意:‌跨多个主版本升级可能存在插件或配置兼容风险 ‌,建议先在测试环境验证;官方不推荐直接替换用于生产环境的非 LTS 跨大版本,优先考虑包管理器(如 apt/yum)或容器化部署以简化升级与回滚。‌‌

2.4 docker内部访问授权问题

想要通过docker进行备份或操作容器内部文件异常时,可通过如下命令进入容器;

bash 复制代码
docker exec -it -u root jenkins /bin/bash

三、文章总结

现在网上遇到问题通过AI搜素进行处理,一些稍微复杂点的内容或则不常见的内容,他提供的内容有限,需要不断的提问,或则看一下它反馈的结果在进行验证。这次也是遇到问题后,AI帮助有限,因此记录一下错误处理过程。

相关推荐
qq_312920111 小时前
如何将Nginx响应时间从500ms降至50ms
运维·nginx
zizle_lin2 小时前
CentOS配置yum源
linux·运维·centos
志栋智能2 小时前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
武器大师722 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
剑神一笑2 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
蘑菇丁2 小时前
招聘大数据运维工程师(郑州)
大数据·运维
NiceCloud喜云3 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
qq_312920113 小时前
服务器被攻击!完整安全加固清单汇总
运维·服务器·安全
leaves falling3 小时前
深入理解Linux进程控制:从fork到exec,手写一个迷你Shell
linux·运维·服务器