Jenkins在RedHat Linux机器(AWS上的干净EC2机器)上运行良好,直到我决定更改JENKINS_HOME
。我只是将Jenkins目录从/var/lib/jenkins
移动到/home/ec2-user/jenkins
,然后创建了一个符号链接。 (我跟着这个问题的第一个答案:Change JENKINS_HOME on Red Hat Linux?)。
然而,当我重新启动Jenkins时,我收到错误:
无法创建主目录'/ var / lib / jenkins'。这是最多的 可能是一个许可问题。要更改主目录,请使用 JENKINS_HOME环境变量或设置JENKINS_HOME系统 属性。
我尝试更改JENKINS_HOME
中的/etc/sysconfig/jenkins
,将其设置为新文件夹(我认为它会破坏符号链接的位置?)并且我仍然会收到同样的错误
无法创建主目录'/ home / ec2-user / jenkins'。
它用于备份,因此我将所有Jenkins数据放在已安装的外部数据存储(AWS弹性文件系统)中。
答案 0 :(得分:2)
我已经弄清楚了。此错误是持久的,因为/ jenkins /文件夹需要用户'jenkins'才能访问以运行进程,但它无法访问此文件夹,因为它属于特定的登录用户。我将安装更改为/ var / jenkins可以作为全局进程访问,并解决了问题。
答案 1 :(得分:0)
错误似乎非常明显:“这很可能是权限问题。”
我认为/home/jenkins
不存在,而用户jenkins
在/home
中没有写入权限。如果您将Jenkins移动到主页,那么您可能以root用户身份执行此操作,只是忘记更新所有者权限。
你需要创建一个这样的房子:
sudo service jenkins stop
# make the changes in /etc/sysconfig/jenkins
sudo mkdir --parents /home/jenkins # or mv, in your case
sudo chown --recursive jenkins /home/jenkins
sudo service jenkins start
答案 2 :(得分:0)
我遇到了同样的问题,所以在这里分享我的解决方案:
用户 jenkins 无权访问文件夹home / ec2-user / jenkins。您可以通过更改用户 jenkins 或将其添加到所有者
sudo chown jenkins /home/ec2-user/jenkins
sudo chmod u+w /home/ec2-user/jenkins
要验证新所有权,您可以执行以下操作:
ls -ld /home/ec2-user/jenkins