Jenkins重新配置后jobs、历史、用户全丢失,Reload from disk无效如何解决
Jenkins本地部署数据丢失找回脚本解决方案
第一步:确认当前Jenkins主目录
进入当前已初始化的Jenkins后台,打开「系统管理」-「系统信息」,找到JENKINS_HOME字段对应的路径,这是当前Jenkins实际读取的配置目录。不同部署方式的默认主目录存在差异,此前排查路径错误的概率较高:
- jar包直接运行的默认主目录为
~/.jenkins - Docker部署且未挂载volume的主目录为容器内部的
/var/jenkins_home,容器销毁后数据会丢失 - Windows msi安装的默认主目录为
C:\Program Files\Jenkins或C:\Windows\System32\config\systemprofile\.jenkins - Linux apt/yum安装的默认主目录为
/var/lib/jenkins
第二步:检索旧Job配置文件
Jenkins所有Job的配置、构建脚本均存储在$旧JENKINS_HOME/jobs/[对应Job名称]/config.xml文件中,脚本内容可以通过查找文件内的<command>标签(自由风格任务)或者流水线配置标签直接提取:
- 执行系统全局搜索,筛选文件名包含
config.xml、路径包含jobs的结果,定位旧的Jenkins主目录 - 如果是Docker部署,执行
docker ps -a查看历史运行的Jenkins容器,容器未删除的情况下可执行docker cp [容器ID]:/var/jenkins_home/jobs ./jenkins-old-jobs导出全部旧Job配置
第三步:其他兜底找回路径
- 若此前开启过Jenkins自动备份,可到
$旧JENKINS_HOME/backups目录下查找备份文件恢复 - 检查系统回收站/垃圾箱,确认是否存在误删的Jenkins相关目录
- 旧Job如果有过成功构建记录,可搜索对应构建的工作目录(默认路径为
$旧JENKINS_HOME/workspace/[Job名称]),目录内会留存历史执行过的脚本副本
内容的提问来源于stack exchange,提问作者Rutwick Gangurde
相关产品推荐
相关产品推荐

