I am using a Linux master and a SunOS slave, set to "Launch slave agents on Unix machines via SSH". I have installed the CVS binary on the slave in /local/foo/bar/cvs, as I don't have permissions for /usr/bin/cvs. The cvs tool location in the master configuration is left blank, so it should use ${PATH} to find cvs. I can't set the cvs tool location (which is a global config), as the master and all other slaves have cvs installed in the usual location - /usr/bin/cvs.
I have set the PATH environment variable on the slave configuration, and this works perfectly for any build steps, including ant and shell commands. I can even run "cvs" as a shell command, and it works perfectly without any additional configuration.
However, the SCM step always fails, output shown below.
Any advice would be greatly appreciated. At this stage, I'm trying to convince the system owners to allow me to link cvs in /usr/bin, to see if that's where Jenkins is expecting it.
If that's not successful, I'll need to dig into Jenkins code to see what it's doing for the build steps that it's not doing for the SCM step, so if anyone has any pointers, again that would be greatly appreciated.
many thanks,
Matt
----------
Started by user anonymous
Building remotely on SunOS
[workspace] $ cvs -Q -z3 -d :pserver:user@host:/var/local/CVSROOT co -P -d projectname -D "Thursday, June 23, 2011 2:30:44 AM UTC" web
java.io.IOException: cvs: not found
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
at hudson.Launcher$ProcStarter.start(Launcher.java:329)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:923)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:890)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)
Recording test results
Finished: FAILURE
Richard.