最终尝试运行一些NUnit
网络测试,但我发现在运行批处理命令path\to\nunit.exe
之前,Jenkin会停止。所以我试着运行一个新的作业,它包含一个构建步骤:执行Windows批处理命令C:\Windows\system32\calc.exe
。下面是我的控制台输出:Jenkins无法运行exe批处理命令?
由用户匿名开始
建设工作区C:\ Program Files文件(x86)的\詹金斯\工作\ [我的工作] \ workspace下 [工作区] $ CMD/C调用C:\ WINDOWS \ TEMP \ hudson8921839713501090632.bat
C:\ Program Files文件(x86)的\詹金斯\工作\ [我的工作] \工作区> C:\ WINDOWS \ SYSTEM32 \ CALC.EXE
那里它挂起,直到我切断,如果关闭。不用说,这个命令在命令提示符下运行正常。另外,在Jenkins
中,不打开新进程的命令也可以正常运行(例如dir)。我不知道在cmd.exe中运行批处理命令和通过Jenkins运行它们之间有什么区别。我无法通过谷歌搜索jenkins cannot open exe
找到任何远程相关信息。任何建议表示赞赏。
编辑:
当实践湿婆的建议下,我试着观察正在运行的进程,而我跑我的詹金斯的工作。如果我没有在start
之前执行该命令,则calc.exe
确实会运行,但不会显示该界面。一旦我杀死詹金斯的工作,计算器也会被杀死。如果我确实包含start
,那么除jenkins作业完成之外,所有内容都是相同的,并且计算器在作业结束后继续运行。这里是新的日志:
在工作区下开始由用户匿名 大厦:\程序文件(x86)\詹金斯\工作\的第一份工作\ workspace下 [工作区] $ CMD/C调用C:\ WINDOWS \ TEMP \ hudson8285328547956378876.bat
C:\ Program Files文件(x86)的\詹金斯\ \工作第一份工作\工作区>开始 C:\ WINDOWS \ SYSTEM32 \ CALC.EXE
C:\ Program Files文件(x86)\ Jenkins \ jobs \ First Job \ workspace>退出0 处理泄漏的文件描述符。对于成品的更多信息,请参见 http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build:成功
尽管这是不同的行为,我不知道,它提供了进一步的启示。为什么我不能与正在运行的进程交互?
可能相关: Jenkins won't execute correctly a command from a .bat
我得走了,所以我会马上说,我认为在这个网站会变成了一个答案在这里搜索詹金斯+批的,我依稀记得一些关于詹金斯服务具有的权利运行进程...祝你好运 – 2013-04-26 21:49:33
从'开始'帮助调用?也就是说,从命令提示符 – 2013-04-27 14:41:55
调用'start C:\ Windows \ system32 \ calc.exe'我见过类似的问题。据我所知,你不能在Jenkins内与Windows UI交互。顺便说一句,如果您要查看Jenkins机器的桌面,您可能会看到计算窗口在其上打开,直到您终止该作业。 – jwernerny 2013-04-29 14:46:03