温馨提示×

怎么备份Jenkins数据

小樊
43
2026-08-04 16:33:06
栏目: 编程语言

备份 Jenkins 数据主要围绕 JENKINS_HOME 目录展开,同时还需要考虑 插件、任务配置、构建历史、用户权限 等。下面按 常见场景 给你一套完整、可操作的备份方案。


一、核心原则(先记住这个)

Jenkins 的所有数据几乎都在 JENKINS_HOME 目录中

只要备份好 JENKINS_HOME,就可以完整恢复 Jenkins。


二、确认 JENKINS_HOME 在哪

1️⃣ 查看 Jenkins 主目录

在 Jenkins 页面:

Manage Jenkins → System → Home directory

常见路径:

  • Linux:/var/lib/jenkins
  • Docker:/var/jenkins_home
  • Windows:C:\ProgramData\Jenkins\.jenkins

三、最常用备份方式(推荐)

✅ 方式一:直接备份 JENKINS_HOME(最稳妥)

1️⃣ 停止 Jenkins(强烈建议)

防止数据不一致:

systemctl stop jenkins

2️⃣ 打包备份

tar -czvf jenkins_backup_$(date +%F).tar.gz /var/lib/jenkins

3️⃣ 启动 Jenkins

systemctl start jenkins

恢复方式

systemctl stop jenkins
rm -rf /var/lib/jenkins/*
tar -xzvf jenkins_backup_2026-01-21.tar.gz -C /
systemctl start jenkins

四、不停机备份(生产环境常用)

✅ 方式二:rsync 增量备份(不停机)

rsync -avz /var/lib/jenkins/ /backup/jenkins_home/

✅ 优点:

  • 可每天增量
  • 不影响 Jenkins 运行

⚠️ 注意:

  • 正在写入的构建日志可能不完整
  • 恢复后建议做一次 Reload Configuration

五、Docker 环境备份

✅ 方式三:Docker Jenkins 备份

1️⃣ 查看容器名

docker ps

2️⃣ 备份 jenkins_home 卷

docker run --rm \
  -v jenkins_home:/var/jenkins_home \
  -v $(pwd):/backup \
  alpine \
  tar czf /backup/jenkins_backup.tar.gz /var/jenkins_home

3️⃣ 恢复

docker run --rm \
  -v jenkins_home:/var/jenkins_home \
  -v $(pwd):/backup \
  alpine \
  tar xzf /backup/jenkins_backup.tar.gz -C /

六、只备份关键数据(轻量方案)

如果你 不需要全部构建历史,可以只备份:

JENKINS_HOME/
├── jobs/          # 任务配置
├── users/         # 用户
├── credentials.xml
├── secrets/
├── config.xml
├── plugins/

⚠️ 缺点:

  • 构建历史会丢失
  • 插件版本可能不一致

七、插件备份(重要)

✅ 插件列表备份

jenkins-plugin-cli --list > plugins.txt

✅ 插件目录

JENKINS_HOME/plugins/

恢复后 Jenkins 会自动加载插件。


八、自动化备份(推荐)

✅ crontab 示例

0 2 * * * tar -czvf /backup/jenkins_$(date +\%F).tar.gz /var/lib/jenkins

九、官方 & 插件方式(可选)

✅ ThinBackup 插件(很多公司在用)

  • 可视化
  • 支持定时
  • 支持增量

安装:

Manage Jenkins → Plugins → ThinBackup

✅ 推荐用于 不熟 Linux 的团队


十、恢复测试(非常重要)

✅ 建议至少 每季度恢复一次测试

  • 新环境
  • 解压 jenkins_home
  • 验证任务、用户、插件

总结(直接照着做)

最推荐方案

停止 Jenkins → tar 备份 JENKINS_HOME → 定期 rsync → 定期恢复测试

Docker

备份 jenkins_home volume

快速恢复

JENKINS_HOME + plugins + credentials

如果你愿意,我可以:

  • 给你 生产级备份脚本
  • 帮你 设计 Jenkins 高可用方案
  • 针对 Docker / K8s Jenkins 单独讲

你现在用的是 裸机 / Docker / Kubernetes?

0