日志:
- Loading node environment variables.
Building remotely on Android in workspace /var/lib/jenkins/workspace/AndroidT
[WS-CLEANUP] Deleting project workspace...
java.io.IOException: Failed to mkdirs: /var/lib/jenkins/workspace/AndroidT
at hudson.FilePath.mkdirs(FilePath.java:1191)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1267)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Finished: FAILURE
答案 0 :(得分:1)
我终于找到了解决方案。
詹金斯正在使用' jenkins '用户进行自动化,但我已经运行了java命令java -jar slave.jar -jnlpUrl http://IP/computer/Android/slave-agent.jnlp -secret dadasdasdasd
与另一个用户一起使用该节点。
我将用户切换到jenkins,运行命令并解决问题。
答案 1 :(得分:0)
我不确定您是否打算将工作区放在/ var / lib / jenkins中,因为您可能没有权限访问该路径,并且它并不真正用于用户文件。
相反,您应该指定执行程序应该有权访问的工作空间路径。查看成功的,未指定节点的作业的输出,并找到它所引用的工作空间的路径,如第2行所示:
在工作区中远程构建Android / var / lib / jenkins / 工作区/ AndroidT
然后在/ workspace之前使用该路径作为节点的远程根目录。
答案 2 :(得分:0)
不要忘记无法将某些内容写入磁盘的最基本原因:
/var/lib/jenkins/workspace/
的写权限