【研发工具】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帮助有限,因此记录一下错误处理过程。

相关推荐
用户0328472220703 小时前
如何搭建本地yum源(上)
运维
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes