更改JENKINS_HOME

时间:2017-01-20 18:47:12

标签: linux amazon-web-services jenkins amazon-ec2 aws-elasticfilesystem

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弹性文件系统)中。

3 个答案:

答案 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 或将其添加到所有者

来修改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