最终尝试运行一些NUnit
web 测试,但我发现 Jenkin 会在运行批处理命令之前停止path\to\nunit.exe
。所以我只是尝试运行一个包含单个构建步骤的新作业:执行 Windows 批处理命令C:\Windows\system32\calc.exe
。这是我的控制台输出:
由用户匿名发起
在工作区 C:\Program Files (x86)\Jenkins\jobs\[my job]\workspace 中构建
[工作空间] $ cmd /c 调用 C:\Windows\TEMP\hudson8921839713501090632.bat
C:\Program Files (x86)\Jenkins\jobs\[我的工作]\workspace>C:\Windows\system32\calc.exe
它挂在那里直到我切断它。不用说,这个命令在命令提示符下运行得很好。此外,不打开新进程的命令(例如 dir)在Jenkins
。我不知道在 cmd.exe 中运行批处理命令和通过 Jenkins 运行它们有什么区别。我无法通过谷歌搜索找到任何远程相关信息jenkins cannot open exe
。任何建议表示赞赏。
Edit:
在实践 Shiva 的建议时,我尝试在运行 Jenkins 作业时观察运行过程。如果我不在命令前面加上start
, then calc.exe
运行但不显示界面。一旦我杀死了詹金斯的工作,计算器也被杀死了。如果我确实包括start
,那么一切都一样,除了詹金斯作业自行完成并且计算器在作业结束后继续运行。这是新日志:
由用户匿名发起
在工作区 C:\Program Files (x86)\Jenkins\jobs\First Job\workspace 中构建
[工作空间] $ cmd /c 调用 C:\Windows\TEMP\hudson8285328547956378876.bat
C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>startC:\Windows\system32\calc.exe
C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>exit 0
处理泄漏的文件描述符。看http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build了解更多信息
完成:成功
尽管这是不同的行为,但我不确定它是否提供了进一步的启发。为什么我无法与正在运行的进程交互?
可能相关:Jenkins 无法正确执行 .bat 中的命令
您无法通过以下方式打开 Windows 进程Jenkins
作为服务运行。你必须跑Jenkins
通过控制台命令java -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=[your desired available port number]
。然后,当 Jenkins 在控制台中运行时,您应该能够在浏览器中通过 localhost:[您的端口号] 访问它。现在您可以继续打开计算器以及您想要的任何其他可执行文件。
https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)