我已经在Linux上安装了Jenkins,而且我对两者都是新手。我使用自定义工作区/ root / xxxx配置了一个作业(目录结构已经到位)。它给了我以下错误:
Building in workspace /root/bhanu
java.io.IOException: Failed to mkdirs: /root/bhanu
at hudson.FilePath.mkdirs(FilePath.java:847)
另一个问题:在执行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
答案 0 :(得分:5)
尝试
ps aux |grep jenkins
查看该进程的用户。在Linux上,jenkins使用JENKINS_USER
变量来定义应该运行的用户。对于标准的Ubuntu软件包安装,/etc/default/jenkins
中的配置文件指定JENKINS_USER
变量中的用户。
在同一个配置文件中,您还可以使用JENKINS_HOME
指定默认工作区位置。确保您在JENKINS_USER
中指定的用户拥有Jenkins访问文件。
对于从属节点,在Manage Jenkins>下的从属配置中指定从属计算机上的默认工作空间。管理节点> >配置>远程FS根。同样,这应该具有JENKINS_USER
用户的读/写/执行权限。