"Unable to create home directory" 更改 JENKINS_HOME 时出错
"Unable to create home directory" error when changing JENKINS_HOME
Jenkins 在 RedHat Linux 机器(AWS 上干净的 EC2 机器)上 运行 一切正常,直到我决定更改 JENKINS_HOME
。我只是将 Jenkins 目录从 /var/lib/jenkins
移动到 /home/ec2-user/jenkins
,然后创建了一个符号链接。 (我遵循了这个问题的第一个答案:Change JENKINS_HOME on Red Hat Linux?)。
然而,当我重新启动 Jenkins 时,出现错误:
Unable to create the home directory ‘/var/lib/jenkins’. This is most
likely a permission problem. To change the home directory, use
JENKINS_HOME environment variable or set the JENKINS_HOME system
property.
我尝试更改 /etc/sysconfig/jenkins
中的 JENKINS_HOME
,将其设置为新文件夹(我想这会破坏符号链接的意义?)但我仍然遇到相同的错误
Unable to create the home directory ‘/home/ec2-user/jenkins’.
它用于备份目的,因此我将所有 Jenkins 数据都存储在已挂载的外部数据存储(AWS 弹性文件系统)中。
错误似乎很明显:“这很可能是权限问题。”
我假设 /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
我已经弄明白了。此错误一直存在,因为用户 'jenkins' 到 运行 进程需要访问 /jenkins/ 文件夹,但它无法访问此文件夹,因为它属于特定的登录用户。我将安装更改为 jenkins 可以作为全局进程访问的 /var/,它解决了问题。
我运行遇到了同样的问题,所以在这里分享我的解决方案:
用户 jenkins 无权访问文件夹 home/ec2-user/jenkins。您可以通过将用户 jenkins 更改或添加到所有者
来修改文件夹 home/ec2-user/home 的访问权限
sudo chown jenkins /home/ec2-user/jenkins
sudo chmod u+w /home/ec2-user/jenkins
要验证新所有权,您可以这样做:
ls -ld /home/ec2-user/jenkins
Jenkins 在 RedHat Linux 机器(AWS 上干净的 EC2 机器)上 运行 一切正常,直到我决定更改 JENKINS_HOME
。我只是将 Jenkins 目录从 /var/lib/jenkins
移动到 /home/ec2-user/jenkins
,然后创建了一个符号链接。 (我遵循了这个问题的第一个答案:Change JENKINS_HOME on Red Hat Linux?)。
然而,当我重新启动 Jenkins 时,出现错误:
Unable to create the home directory ‘/var/lib/jenkins’. This is most likely a permission problem. To change the home directory, use JENKINS_HOME environment variable or set the JENKINS_HOME system property.
我尝试更改 /etc/sysconfig/jenkins
中的 JENKINS_HOME
,将其设置为新文件夹(我想这会破坏符号链接的意义?)但我仍然遇到相同的错误
Unable to create the home directory ‘/home/ec2-user/jenkins’.
它用于备份目的,因此我将所有 Jenkins 数据都存储在已挂载的外部数据存储(AWS 弹性文件系统)中。
错误似乎很明显:“这很可能是权限问题。”
我假设 /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
我已经弄明白了。此错误一直存在,因为用户 'jenkins' 到 运行 进程需要访问 /jenkins/ 文件夹,但它无法访问此文件夹,因为它属于特定的登录用户。我将安装更改为 jenkins 可以作为全局进程访问的 /var/,它解决了问题。
我运行遇到了同样的问题,所以在这里分享我的解决方案:
用户 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