5

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

当我尝试打开 Jenkins Web 应用程序时,出现以下错误:

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. 所以,我想詹金斯应该能够在那里创建一个子目录。

但显然不能。

我该如何解决这个问题?

更新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. 我需要詹金斯才能
    1. 在晚上运行冗长的测试(快速单元测试在 every 之前运行mvn install,慢速测试每晚执行)和
    2. 随着时间的推移保存软件质量指标(checkstyle、PMD、FindBugs、单元测试覆盖率等)。
  2. 我只有一台机器可用,并且那里已经安装了一个 Tomcat7 容器。
  3. 目前,我不想投资额外的钱来购买新机器。
  4. 带有 Tomcat7 容器的机器(以及我希望安装 Jenkins 的位置)是一个 Amazon EC2 微实例(操作系统版本如下所示)。

    $ cat /etc/*-release 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 包。

4

4 回答 4

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 的权限已经可以了)

如果您以 'myuser' 身份运行 tomcat,则 filsystem 权限看起来不错,但 Tomcat 自己的权限系统可能是问题,因为如果安全管理器的默认设置打开,则不允许 webapps 接触文件系统。

见:https ://wiki.jenkins-ci.org/display/JENKINS/Tomcat

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

于 2013-06-30T10:16:44.207 回答
4

运行这三个命令

cd /usr/share/tomcat7

sudo mkdir .jenkins

sudo chown tomcat7:nogroup .jenkins

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

于 2017-04-09T18:19:42.633 回答
1

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

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

chmod +r /home/myuser
于 2013-06-23T20:21:19.663 回答
0

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

您必须将 +x 添加到此目录,以使 jenkins 可以访问其内容,确切地说,整个路径必须为每个人启用 +x。

此外,您使用什么命令将其从默认位置移至主目录 - 可能存在错误。干杯,彼得

于 2013-07-03T17:29:58.220 回答