在 Debian 系统中迁移 Jenkins,通常是为了升级服务器、更换机器或做灾备恢复。下面给你一套完整、可操作的迁移方案(适用于 Debian 10/11/12,Jenkins 由 apt 或 war 安装均可)。
dpkg -l | grep jenkins
或
ps -ef | grep jenkins
常见路径:
/var/lib/jenkins/etc/default/jenkinssystemctl status jenkins直接复制 Jenkins 主目录 + 插件 + 配置
这是 最安全、最完整 的迁移方式。
sudo systemctl stop jenkins
sudo tar -czvf jenkins-home.tar.gz /var/lib/jenkins
常见需要迁移的内容:
jobs/ 任务配置plugins/ 插件config.xml 全局配置users/ 用户secrets/ 凭据(⚠️ 非常重要)nodes/ 节点sudo tar -czvf jenkins-etc.tar.gz /etc/default/jenkins
scp jenkins-home.tar.gz jenkins-etc.tar.gz user@new-server:/opt/
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 jenkins -y
✅ 先不要启动 Jenkins
sudo systemctl stop jenkins
sudo mv /var/lib/jenkins /var/lib/jenkins.bak
sudo tar -xzvf /opt/jenkins-home.tar.gz -C /
sudo mv /var/lib/jenkins /var/lib/jenkins.old
sudo mv /var/lib/jenkins.old/var/lib/jenkins /var/lib/jenkins
或:
sudo tar -xzvf /opt/jenkins-home.tar.gz -C /var/lib/
sudo cp /opt/jenkins-etc.tar.gz /tmp
cd /tmp
tar -xzvf jenkins-etc.tar.gz
sudo cp etc/default/jenkins /etc/default/jenkins
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl enable jenkins
http://<新服务器IP>:8080
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo nano /etc/default/jenkins
# 修改 HTTP_PORT
sudo systemctl restart jenkins
如果是 Docker:
docker cp jenkins:/var/jenkins_home ./jenkins_home
迁移后:
docker run -d -p 8080:8080 -v $(pwd)/jenkins_home:/var/jenkins_home jenkins/jenkins
/var/lib/jenkins 完整迁移secrets/ 目录未丢失如果你愿意,我可以:
你可以直接贴出:
systemctl status jenkins
jenkins 版本
Debian 版本