您现在的位置是:首页 >学无止境 >Jenkins备份与还原(包括秘钥)网站首页学无止境

Jenkins备份与还原(包括秘钥)

小智IT 2026-03-18 12:01:04
简介Jenkins备份与还原(包括秘钥)

前言

Jenkins作为一款广泛使用的CI/CD工具,能够帮助开发团队快速构建、测试和部署项目。在日常开发中,开发人员通常通过点击配置好的Job,将Web项目部署到测试或生产环境,或者生成各种成果物(如exe、zip等)。然而,一旦Jenkins系统出现故障或数据丢失,可能会导致整个项目的开发周期受到影响,甚至造成不可逆的损失。

为了确保Jenkins系统的稳定性和数据的安全性,定期备份和还原Jenkins配置及数据显得尤为重要。特别是Jenkins中的秘钥、Job配置、插件信息等关键数据,一旦丢失,恢复起来将非常麻烦。因此,掌握Jenkins的备份和还原方法,尤其是如何备份和还原秘钥,是每个使用Jenkins的开发人员和运维人员的必备技能。

在本篇博客中,小编将为大家详细介绍如何对Jenkins进行全面的备份(包括秘钥),以及在需要时如何快速还原,确保系统的高可用性和数据的安全性。


一、Jenkins底层核心结构

jobs存储所有任务(Jobs)配置和数据
users存储 Jenkins 用户的相关信息
plugins存储 Jenkins 已安装的插件及其配置信息
logs存储 Jenkins 的运行日志文件
secrets存储加密秘钥等敏感数据
fingerprints存储 Jenkins 的文件指纹信息
nodes存储 Jenkins 节点(Agent)的配置信息
配置文件
config.xml

全局配置文件(包括系统设置、安全配置等)

注:可配置workspace路径

jenkins.xml

安装配置文件(包括Jenkins的安装路径、Java路径和日志路径等)

注:对已经下载的jenkins,可以迁移到其他磁盘

hudson.model.UpdateCenter.xml存储了 Jenkins 更新中心的配置信息,包括插件下载的镜像地址等


二、Jenkins备份(包括秘钥)

备份使用的工具是:Jenkins插件ThinBackup

1、在Mange Jenkins->Plugins->Available plugins中,搜索并下载ThinBackup插件。

2、下载后能够在Installed plugins中找到刚下载的插件,表明下载成功。

3、Linux在Mange Jenkins->System->ThinBackup Configuration进行备份配置。

window版本的Jenkins则是在Mange Jenkins->ThinBackup->Settings中进行配置。

4、配置ThinBackup插件。

由于Thinbackup插件不直接支持备份各种加密信息,所以需要通过Backup additional files这个选项,结合正则表达式对其进行备份,这样在进行Jenkins还原后,对应的秘钥、凭证等加密信息就无需再重新配置。

^(secrets|.*.key|.*.Secret|.*.consoleAnnotator|.*.MAC|.*.serverCookie|.*.crumbSalt|.*.KEY|.*.mac|.*.not-so-secret)

5、配置好后,在Manage Jenkins->ThinBackup,点击Backup now进行备份。

6、在对应备份文件的保存路径中,便能够看到生成的Jenkins备份文件。


三、Jenkins还原(包括秘钥)

还原也是使用 Jenkins插件ThinBackup

1、在Jenkins中,Manage Jenkins->ThinBackup处,点击Restore,根据自己的需求进行选择,最后点击Restore,并重启Jenkins即可。


四、遇到的问题(还原)

1、Jenkins还原后,对应的包含Jenkins用户信息的users文件夹没有还原成功?

解决方法:将现在的users文件夹删除掉,将备份文件中的users文件夹复制过来,Jenkins重启。

2、Jenkins还原后,对应的秘钥和凭证还是显示报错,需要重新配置?

解决方法:将现在的secrets文件夹删除掉,将备份文件中的secrets文件夹复制过来,Jenkins重启。

3、那为什么不直接将整个Jenkins文件夹备份,在还原时,直接将整个文件夹进行替换即可?

(1)ThinBackup通过Cron表达式能够进行定期备份,直接备份需要额外配置

(2)通过直接备份的方式进行还原,新Jenkins的各种配置,需要保持与旧Jenkins相同,灵活性不高,而通过ThinBackup插件的方式,在还原时,不仅不需要关心新Jenkins如何配置的,而且还可以选择性地还原部分数据(如只还原任务配置而不还原构建历史)


五、总结

本篇主要是介绍了Jenkins的核心结构,并讲解了Jenkins的备份和还原(包含秘钥),以及对一些还原过程中常见的问题进行解答。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。