-
Improvement
-
Resolution: Fixed
-
Minor
-
None
I've just installed Jenkins onto Tomcat which already has other webapps running properly.
When I try to build a Maven job, it gives me an exception as below (only the relevant part of it!):
Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1704)
at java.io.File.createTempFile(File.java:1792)
at java.io.File.createTempFile(File.java:1828)
at hudson.remoting.RemoteClassLoader.createTempDir(RemoteClassLoader.java:281)
at hudson.remoting.RemoteClassLoader.makeResource(RemoteClassLoader.java:262)
at hudson.remoting.RemoteClassLoader.findResource(RemoteClassLoader.java:194)
... 31 more
After some research, it turned out that
$ ls -ald /tmp
drwxr-xr-x 8 root root 1024 2011-11-27 16:34 /tmp
Hummmm.... That's why a temporary file could not be created!
After I changed permissions to 777, all jobs started to execute as expected.
So, I have two suggestions... either one you find more convenient:
1. Make sure that temporary files are created under JENKINS_HOME/tmp, not /tmp;
2. Perform sanity checks just after installation and after a configuration screen which stresses all known configuration issues, etc... telling the user that something needs to be remediated.