Ultimately trying to run some NUnit
web tests, but I found that Jenkin's would stop before running the batch command path\to\nunit.exe
. So I just tried running a new job that consists of a single build step: Execute Windows batch command C:\Windows\system32\calc.exe
. Here is my console output:
Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\jobs\[my job]\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson8921839713501090632.batC:\Program Files (x86)\Jenkins\jobs\[my job]\workspace>C:\Windows\system32\calc.exe
and there it hangs until I cut if off. Needless to say, this command runs fine in command prompt. Also, commands that do not open new processes run fine (e.g. dir) in Jenkins
. I don't know what the difference is between running batch commands in cmd.exe and running them through Jenkins. I cannot find any remotely relevant information with a google search of jenkins cannot open exe
. Any advice is appreciated.
Edit:
While practicing Shiva's suggestion, I tried observing the running processes while I ran my Jenkins job. If I do not precede the command with start
, then calc.exe
does run but the interface does not display. Once I kill the jenkins job, calculator is killed as well. If I do include start
, then everything is the same except the jenkins job finishes on its own and the calculator continues to run after the job is over. Here is the new log:
Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\jobs\First Job\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson8285328547956378876.batC:\Program Files (x86)\Jenkins\jobs\First Job\workspace>start C:\Windows\system32\calc.exe
C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>exit 0
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
Finished: SUCCESS
Although this is different behavior, I'm not sure that it offers further enlightenment. Why can I not interact with the running processes?
Possibly related:
Jenkins won't execute correctly a command from a .bat
Best Answer
You cannot open windows processes through
Jenkins
running as a service. You have to runJenkins
through the console commandjava -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=[your desired available port number]
. Then, while Jenkins is running in your console, you should be able to access it in a browser at localhost:[your port number]. Now you may go forth and open calculators and whatever other executables you want.https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins