如何将Mac mini上的Jenkins服务迁移至另一台MacBook
macOS 系统 Jenkins 跨设备迁移操作指南
第一步:精准定位 Jenkins 主目录
网上通用的~/.jenkins路径只适用于部分手动解压、用当前用户直接启动的Jenkins安装方式,macOS下通过pkg安装包、Homebrew、Docker部署的Jenkins都不会放在这个路径下,你在个人目录下找不到是正常情况。
访达未找到.jenkins文件夹截图
用下面任意一种方法都能准确找到实际的JENKINS_HOME路径:
- 网页端查询(最准确,全安装方式通用)
打开旧Mac mini上正常运行的Jenkins后台,进入「Manage Jenkins」-「System Information」页面,搜索JENKINS_HOME字段,对应的值就是完整的Jenkins根目录路径。 - 终端命令查询
打开旧设备终端执行命令:ps aux | grep jenkins
输出内容里找到-DJENKINS_HOME=开头的参数,等号后面的内容就是主目录路径。
macOS下常见的Jenkins默认主目录路径可以参考:
- 官方pkg安装包部署、默认开机自启的Jenkins:
/Users/Shared/Jenkins/Home,这个目录默认归专属的jenkins系统用户所有,不开权限、不开启访达隐藏文件显示的话,普通用户看不到很正常 - Homebrew部署的Jenkins:M系列芯片Mac路径为
/opt/homebrew/var/jenkins,Intel芯片Mac路径为/usr/local/var/jenkins - Docker部署的Jenkins:主目录为启动容器时你手动挂载的宿主机路径,没做挂载的话需要先进入容器把内部目录拷贝出来
第二步:执行迁移操作
迁移全程保持两台设备的Jenkins服务处于停止状态,避免文件写入损坏配置:
- 停服务对应命令参考:
- pkg安装版:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist - Homebrew安装版:
brew services stop jenkins - Docker版:直接停止对应Jenkins容器即可
- pkg安装版:
- 在旧Mac mini上给JENKINS_HOME目录开放读取权限,避免拷贝时权限报错,比如pkg默认路径执行:
sudo chmod -R 755 /Users/Shared/Jenkins/Home
把整个JENKINS_HOME目录通过移动硬盘、隔空投送等方式拷贝到新的MacBook上。 - 新MacBook上先安装和旧设备大版本完全一致的Jenkins(版本差太大容易出现配置、插件不兼容问题),装完先停掉新设备的Jenkins服务,找到新设备对应的JENKINS_HOME路径,清空目录下默认生成的所有初始文件,把旧设备拷贝过来的全部内容原路径粘贴进去。
- 修复新设备上Jenkins目录的归属权限,不然服务启动会报无权限错误,比如pkg默认路径执行:
sudo chown -R jenkins:jenkins /Users/Shared/Jenkins/Home - 启动新设备的Jenkins服务,打开后台验证所有项目任务、插件、配置、账号权限是否正常加载即可。
小提示:如果启动后提示插件不兼容,直接进入插件管理页面,把提示报错的插件升级/降级到适配当前Jenkins版本的版本,重启服务就能正常使用,不需要重新全量迁移。
内容的提问来源于stack exchange,提问作者Scozirge2
相关产品推荐
相关产品推荐

