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

相关推荐
子木HAPPY阳VIP23 分钟前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc30 分钟前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu
AutumnWind04201 小时前
【Docker Compose 快速入门】
运维·docker·容器
QYRdata2 小时前
2026-2032年图形处理云服务器CAGR预计达18.7%
运维·服务器·服务发现
分布式存储与RustFS2 小时前
图床搬到自己的对象存储:PicGo 加 S3 插件的完整配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
月落汀兰2 小时前
建池后类型不可修改!深度拆解 Ceph PG 放置组,副本 / 纠删码池选型,快照与命名空间避坑
运维·ceph
技术人生0013 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
智能运维指南4 小时前
从分散运维到统一运维:2026 统一运维管理体系建设路径与选型要点
运维·一体化运维·智能运维·嘉为蓝鲸
ITyunwei09874 小时前
ITIL 5 落地前,先补齐工单数据底座的 4 步
运维·企业微信