【问题标题】:changing workspace of jenkins in linux在 linux 中更改 jenkins 的工作区
【发布时间】:2012-03-02 06:08:21
【问题描述】:

我已经在 Linux 上安装了 Jenkins,而且我都是新手。我用自定义工作区 /root/xxxx 配置了一个作业(目录结构已经到位)。它给了我以下错误:

Building in workspace /root/bhanu
java.io.IOException: Failed to mkdirs: /root/bhanu
at hudson.FilePath.mkdirs(FilePath.java:847)

另一个问题:在 Execute Shell 构建步骤中执行 copy 命令时,它给了我“权限被拒绝”错误。从控制台输出复制命令工作正常。这是错误:

+ cp /home/user1/victor.war /root/apache-tomcat-6.0.29/webapps/
cp: accessing '/root/apache-tomcat-6.0.29/webapps/': Permission denied

当我尝试在 Jenkins 的 shell 脚本中设置权限时,出现“权限被拒绝”错误:

+ chmod a+rwx /root/apache-tomcat-6.0.29/webapps/
chmod: cannot access '/root/apache-tomcat-6.0.29/webapps/': Permission denied

【问题讨论】:

  • 这很可能是因为 jenkins 在大多数发行版上默认以用户 jenkins 运行,并且该用户没有对 /root 的写入权限 - 与 chmod 相同。我建议从官方存储库安装 jenkins 并使用默认用户名。此外,您应该在一些更标准的位置使用工作区,例如/srv/jenkins/workspace。创建后以root 运行chmod(例如sudo chmod ...
  • 我只从 root 安装了 jenkins。我们能知道我们从哪个用户安装 jenkins
  • 当我在 jenkins 中放置 sudo chmod 时出现错误 sudo: sorry, you must have a tty to run sudo

标签: linux jenkins workspace


【解决方案1】:

试试

ps aux |grep jenkins

查看进程有哪些用户。在 Linux 上,jenkins 使用 JENKINS_USER 变量来定义它应该以什么用户身份运行。对于标准 Ubuntu 软件包安装,/etc/default/jenkins 中的配置文件在 JENKINS_USER 变量中指定用户。

在同一个配置文件中,您还可以使用JENKINS_HOME 指定默认工作区位置。确保它归您在 JENKINS_USER 中指定的用户所有,以便让 Jenkins 访问文件。

对于从属节点,请在从属配置中的管理 Jenkins > 管理节点 > > 配置 > 远程 FS 根目录下指定从属机器上的默认工作区。同样,这应该对JENKINS_USER 用户具有读/写/执行权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多