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

DP_*_*DP_ 5 continuous-integration hudson jenkins

我正在尝试在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.
Run Code Online (Sandbox Code Playgroud)

在开始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因为詹金斯应该创造它而不存在.

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

更新3:其他信息:

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

    $ cat/etc/* - 发布LSB_VERSION = base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Amazon Linux AMI发布2013.03

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

Sim*_*olt 5

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

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

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

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

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


rob*_*cox 1

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

尝试运行以下命令,然后查看 Jenkins 是否可以正常工作:

chmod +r /home/myuser
Run Code Online (Sandbox Code Playgroud)