【问题标题】:Hudson - java.io.IOException: Failed to mkdirs:哈德森 - java.io.IOException:无法 mkdirs:
【发布时间】:2013-01-17 08:33:14
【问题描述】:

我找不到很多关于 Hudson 和这个问题的信息。我正在尝试使用 Hudson 构建/运行我的 selenium 测试用例。这是我采取的步骤

  1. 创建了一个新工作
  2. 将自定义工作区设置为 /home/selenium/qa/automation
  3. 添加了构建步骤“Invoke Ant”
  4. 将目标“运行”添加到目标
  5. 将 build.xml 添加到构建文件字段。
  6. 试图执行作业,但它退出并出现以下错误:

由匿名用户发起

java.io.IOException: Failed to mkdirs: /home/selenium/qa/automation
...
...

我认为这是一些权限问题,但我就是想不通。在 /etc/sysconfig/hudson 中,用户以“hudson”身份运行,这个用户应该是 selenium 用户吗?

另外,我添加了自定义工作区,因为最初 Hudson 找不到 build.xml 文件。我会得到一个“无法找到构建脚本”,我不确定是否也与权限相关。

这些是目录权限:

drwxrwxr-x 10 selenium selenium 4096 Jan 29 17:18 automation

谁能指出我正确的方向?

【问题讨论】:

    标签: selenium hudson


    【解决方案1】:

    您让 Hudson 作为“hudson”运行,但您的工作区归用户“selenium”所有。这是一个问题,因为“其他”没有对该目录的写入权限。

    您可以chown <directory> hudson:hudson 更改所有者,或者您可以使用chmod 777 添加写入权限,因为现在它看起来是 775(“其他”没有写入权限)。

    【讨论】:

    • 我试图避免使用 chmod 777 但我会试一试,我猜在 selenium 组中添加 'hudson' 可能会有所帮助?
    • 这也可以。 777远非理想。我要么将所有者更改为 hudson,要么创建一个同时包含 selenium 和 hudson 的组。
    • 似乎将用户 Hudson 添加到 selenium 组可以解决问题,尽管我必须将其设为主要组
    • @JohnBrodie 命令其实是:chown owner-user:owner-group directory
    【解决方案2】:

    最终我将 HUDSON_USER 更改为我的 selenium 用户,并将 /var/lib/hudson 和 /var/log/hudson 的权限授予 selenium 用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 2011-03-31
      相关资源
      最近更新 更多