温馨提示×

怎样迁移ubuntu jenkins

小樊
34
2026-09-10 06:48:14
栏目: 智能运维

下面给你一个通用、稳妥的 Ubuntu Jenkins 迁移方案,适用于:

  • 同机重装系统后恢复
  • 从一台 Ubuntu 服务器迁移到另一台 Ubuntu 服务器
  • Jenkins 版本基本一致或兼容升级

一、迁移前确认信息(原服务器)

1. 确认 Jenkins 安装方式

dpkg -l | grep jenkins
which jenkins

常见位置:

  • 包安装:/var/lib/jenkins
  • War 包:/opt/jenkins 或自定义目录

2. 关键目录(最重要的就是它)

/var/lib/jenkins

包含:

  • jobs/(任务)
  • users/(用户)
  • config.xml(全局配置)
  • credentials.xml(凭据)
  • plugins/(插件)

3. 记录版本

jenkins --version

或页面右下角版本号


二、停止 Jenkins(原服务器)

sudo systemctl stop jenkins

如果是 Docker:

docker stop jenkins

三、备份 Jenkins 数据(原服务器)

推荐方式(完整备份)

sudo tar -czvf jenkins-backup.tar.gz /var/lib/jenkins

⚠ 注意:

  • 不要只拷 jobs
  • credentials、plugins 必须一起

可选:只迁移核心

如果你只想迁任务和用户:

/var/lib/jenkins/jobs
/var/lib/jenkins/users
/var/lib/jenkins/config.xml

四、新 Ubuntu 服务器准备

1. 安装 Jenkins(建议同版本)

sudo apt update
sudo apt install jenkins

或参考官方:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins

2. 启动一次 Jenkins(生成目录)

sudo systemctl start jenkins
sudo systemctl stop jenkins

五、恢复数据(新服务器)

1. 覆盖 Jenkins 主目录

sudo rm -rf /var/lib/jenkins
sudo tar -xzvf jenkins-backup.tar.gz -C /

或:

sudo cp -a jenkins /var/lib/

2. 修复权限(非常重要)

sudo chown -R jenkins:jenkins /var/lib/jenkins

六、启动 Jenkins

sudo systemctl start jenkins

查看日志:

sudo journalctl -u jenkins -f

访问:

http://<ip>:8080

七、常见问题处理

1. 插件不兼容

  • 进入 Manage Jenkins → Plugins
  • 升级或重装插件

2. 凭据丢失

  • 检查 credentials.xml
  • 确保未遗漏 /secrets/

3. Docker 迁移

如果是 Docker:

docker run -d \
  -v /data/jenkins_home:/var/jenkins_home \
  -p 8080:8080 jenkins/jenkins

直接拷 jenkins_home 即可


八、推荐生产方案(进阶)

  • ✅ Jenkins Configuration as Code (JCasC)
  • ✅ 定期 thinBackup 插件
  • ✅ Git 管理 Jenkins Job DSL

如果你愿意,可以告诉我:

  • 物理机 / 云服务器 / Docker
  • Jenkins 版本
  • 是否要 跨大版本升级

我可以给你量身定制的迁移命令

0