Jenkins安装 - 尽管存在和可写性,但无法创建主目录

时间:2013-06-23 10:44:05

标签: jenkins continuous-integration hudson

我正在尝试在Tomcat 7容器上安装Jenkins。

当我尝试打开Jenkins网络应用时,我收到以下错误:

Unable to create the home directory '/home/myuser/jenkins/work'. This is most 
likely a permission problem.

To change the home directory, use JENKINS_HOME environment variable or set 
the JENKINS_HOME system property. See Container-specific documentation for 
more details of how to do this.

在启动Tomcat之前,我做了chmod uog+rwx /home/myuser/jenkins。所以,我想Jenkins应该能够在那里创建一个子目录。

但显然它不能。

如何解决此问题?

更新1:

lt -lt返回

drwxrwxrwx 2 root ec2-user 4096 Jun 23 10:25 jenkins

代表/home/myuser/jenkins/home/myuser/jenkins/work不存在,因为Jenkins应该创建它。

更新2:只是尝试创建work目录并在其上运行chmod uog+rwx。它没有帮助。

更新3 :其他信息:

  1. 我需要Jenkins才能
    1. 在夜间进行冗长的测试(快速单元测试在每个mvn install之前运行,慢速测试每晚执行)和
    2. 随着时间的推移保存软件质量指标(checkstyle,PMD,FindBugs,单元测试覆盖率等)。
  2. 我只有一台可用的机器,并且已经安装了Tomcat7容器。
  3. 目前,我不想投入额外资金购买新机器。
  4. 具有Tomcat7容器的机器(以及我希望安装Jenkins的地方)是Amazon EC2微实例(OS版本如下)。

    $ cat / etc / * - 发布 LSB_VERSION =碱基-4.0-AMD64:碱-4.0-noarch:芯-4.0-AMD64:芯-4.0-noarch:印刷-4.0-AMD64:印刷-4.0-noarch Amazon Linux AMI版本2013.03

  5. 更新4(29.06.2013 13:34 MSK): yum list的输出不包含任何Jenkins / Hudson包。

4 个答案:

答案 0 :(得分:5)

如果Tomcat作为单独的用户运行,您需要将主目录的执行权限授予该用户 - 通过将其提供给所有用户,或者通过创建一个特别为您和tomcat用户组成的组。

(更新)更具体地说:你说你已经做过chmod uog+rwx /home/myuser/jenkins,如果Tomcat没有运行asl'myuser'它还需要/ home和/ home / myuser上的执行权限才能打开/ home /为myuser /詹金斯。如果您对打开homedir的系统上的其他用户不挑剔,可以通过以下方式允许:chmod a+x /home/myuser。 (我在这里假设/ home的权限已经可以了)

如果您将tomcat作为“myuser”运行,则filsystem权限看起来很好,但Tomcat自己的权限系统可能是问题,因为如果安全管理器的默认设置已启用,则不允许Web应用程序触摸文件系统。

请参阅:https://wiki.jenkins-ci.org/display/JENKINS/Tomcat

您没有详细说明您的确切Tomcat / OS设置,因此我无法提供确切的详细信息,但是找出它是否是安全管理器问题的快速方法是向您提供AllPermission webapp。如果您不在安全的环境中运行,建议仅将其用作测试,并稍后仅设置真正需要的权限。

答案 1 :(得分:2)

运行这三个命令 cd / usr / share / tomcat7

sudo mkdir .jenkins

sudo chown tomcat7:nogroup .jenkins

https://seleniumwithjavapython.wordpress.com/home/jenkins-installation/

答案 2 :(得分:1)

看起来问题可能是jenkins看不到/home/myuser,因此无法访问其中的jenkins文件夹(即使它在/home/myuser/jenkins中有写权限,我相信它可以读/home/myuser会导致问题。

尝试运行以下命令,然后查看Jenkins是否在其后工作:

chmod +r /home/myuser

答案 3 :(得分:0)

  

@robjohncox是 - drwx ------ 5 myuser myuser 4096 Jun 23 10:25 myuser

你必须在这个目录上添加+ x才能让jenkins访问它的内容,准确地说,整个路径必须为每个人启用+ x。

此外,您曾经使用过哪些命令来移动它的默认主页目录 - 可能的错误就在那里。干杯,Piotr