MacOS重启后Jenkins home路径自动变更,如何正确设置JENKINS_HOME?
问题产生原因
- 核心原因是Jenkins的运行用户发生了变化,Jenkins默认会将
JENKINS_HOME设置为当前启动用户家目录下的.jenkins文件夹 - 首次启动时你使用普通用户执行
brew services start jenkins-lts,因此读取的是/Users/myusername/.jenkins路径下的配置 - 系统重启后Jenkins服务被以
root用户身份启动,root用户的家目录为/var/root,因此自动生成了全新的/var/root/.jenkins路径,原有普通用户下的配置完全不生效 - 该问题通常是因为此前曾误加
sudo执行brew services相关命令,导致Homebrew将Jenkins服务注册为了系统级root启动项,而非当前用户的用户级启动项。
固定JENKINS_HOME路径的解决方案
方法一:修正服务启动用户(推荐)
- 先停止所有运行中的Jenkins服务,避免冲突:
sudo brew services stop jenkins-lts brew services stop jenkins-lts - 删除root用户下注册的Jenkins启动项:
sudo brew services remove jenkins-lts - 用普通用户重新注册Jenkins为用户级启动项,全程不要加sudo:
brew services start jenkins-lts - 验证效果:重启Mac后执行
ps aux | grep jenkins,查看进程所属用户是否为你的普通用户名,确认后访问Jenkins即可直接使用原有配置和管理员账号。
方法二:手动强制指定JENKINS_HOME(备选)
如果方法一不生效,可以通过修改启动配置强制指定路径:
- 编辑普通用户下的Jenkins启动plist文件:
open ~/Library/LaunchAgents/homebrew.mxcl.jenkins-lts.plist - 在
ProgramArguments数组中新增一行参数,指定JENKINS_HOME路径:<string>-DJENKINS_HOME=/Users/myusername/.jenkins</string> - 保存文件后重启服务生效:
brew services restart jenkins-lts
内容的提问来源于stack exchange,提问作者Levain Sylvain
相关产品推荐
相关产品推荐

