要把 Jenkins 从一台机器迁移到 Debian(新机器),通常分几种情况。下面我按最常见、最稳妥的方式给你一个完整流程,适用于 Jenkins 官方版 / Debian / Ubuntu 环境。
在旧机器上执行:
# Jenkins 主目录(最重要)
ls /var/lib/jenkins
# Jenkins 版本
jenkins --version
# 或
java -jar /usr/share/jenkins/jenkins.war --version
常见路径:
/var/lib/jenkins/etc/default/jenkinssystemdsudo apt update
sudo apt install -y openjdk-17-jdk
java -version
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install -y jenkins
sudo systemctl stop jenkins
sudo systemctl stop jenkins
cd /var/lib
sudo tar czvf jenkins-backup.tar.gz jenkins
拷贝到新机器:
scp jenkins-backup.tar.gz user@new-debian:/tmp/
sudo mv /var/lib/jenkins /var/lib/jenkins.bak
sudo tar xzvf /tmp/jenkins-backup.tar.gz -C /var/lib
sudo chown -R jenkins:jenkins /var/lib/jenkins
如果你只关心 Job 和配置,可只迁移:
jobs/
config.xml
users/
secrets/
plugins/
⚠️ 不推荐缺少 plugins 和 secrets,容易导致启动失败。
直接迁移:
/var/lib/jenkins/plugins
如果版本不一致,可重建:
sudo systemctl start jenkins
# 登录后
Manage Jenkins → Manage Plugins → Installed
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl enable jenkins
查看状态:
systemctl status jenkins
sudo nano /etc/default/jenkins
修改:
HTTP_PORT=8081
然后:
sudo systemctl restart jenkins
✅ 解决方式:
plugins/*.jpi,不要迁移 .baksudo chown -R jenkins:jenkins /var/lib/jenkins
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
浏览器访问:
http://<debian-ip>:8080
| 项目 | 是否完成 |
|---|---|
| Java 安装 | ✅ |
| Jenkins 安装 | ✅ |
| /var/lib/jenkins 迁移 | ✅ |
| 权限正确 | ✅ |
| 插件完整 | ✅ |
| 启动成功 | ✅ |
如果你愿意,我也可以给你 Docker → Debian 或 Debian → Docker 的迁移方案。
把
/var/lib/jenkins完整拷贝到 Debian,安装同版本 Jenkins,改权限,启动即可。
如果你愿意,可以告诉我:
我可以给你完全针对你环境的迁移方案。