在 Debian 上迁移 Jenkins(包括配置、任务、插件、数据等)通常有两种常见场景:
下面按最通用、最安全的迁移方式来说明。
Debian 常见两种:
dpkg -l | grep jenkins
systemctl status jenkins
避免版本不兼容问题:
jenkins --version
或访问:
http://<ip>:8080/about
sudo systemctl stop jenkins
| 目录 | 作用 |
|---|---|
/var/lib/jenkins |
Jenkins 主目录(任务、配置、插件、工作空间) |
/etc/default/jenkins |
启动参数 |
/var/log/jenkins |
日志 |
/usr/lib/jenkins/jenkins.war |
WAR 包(APT 安装) |
✅ 迁移的核心就是 /var/lib/jenkins
sudo tar -czvf jenkins-home.tar.gz /var/lib/jenkins
可选:一起打包配置
sudo tar -czvf jenkins-config.tar.gz /etc/default/jenkins
scp jenkins-home.tar.gz user@new-server:/tmp/
sudo apt update
sudo apt install jenkins
如果版本不一致,建议手动指定版本:
apt-cache policy jenkins
sudo apt install jenkins=<version>
sudo systemctl stop jenkins
sudo mv /var/lib/jenkins /var/lib/jenkins.bak
sudo tar -xzvf /tmp/jenkins-home.tar.gz -C /
⚠️ 注意:解压后路径应为 /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
http://<ip>:8080现象:页面报错、插件失效
✅ 解决:
# 升级插件
# 或安装相同版本 Jenkins
sudo chown -R jenkins:jenkins /var/lib/jenkins
修改:
sudo nano /etc/default/jenkins
HTTP_PORT=8081
| 需求 | 目录 |
|---|---|
| 任务 | jobs/ |
| 插件 | plugins/ |
| 配置 | config.xml |
| 用户 | users/ |
| 凭据 | credentials.xml |
⚠️ 不推荐新手这样做,容易遗漏依赖
docker cp jenkins_home container:/var/jenkins_home
或挂载卷迁移。
systemctl stop jenkins
tar czvf jenkins.tar.gz /var/lib/jenkins
# 拷贝
systemctl stop jenkins
tar xzvf jenkins.tar.gz -C /
chown -R jenkins:jenkins /var/lib/jenkins
systemctl start jenkins
如果你愿意,可以告诉我:
我可以给你完全定制化的迁移方案。