我的构建服务器服务正在从msbuild文件执行以下命令:
Exec Command="karma start $(LandscapeExplorerProjectFolder)karma.conf.js -- log-level debug
然后启动在Node.js上运行的Karma实例
Karma配置为启动Chrome以运行我的Jasmine测试。当我通过登录服务器并在命令提示符下键入手动执行上述命令时,测试按照我的预期运行。
但是当我的构建服务启动Karma时,Chrome最初会启动,但随后会崩溃。
运行构建时,从控制台的输出中得到以下内容:
WARN [launcher]: [39mChrome have not captured in 60000 ms, killing.
DEBUG [launcher]: [39mProcess Chrome exited with code 0
查看Chrome日志时,我看到:
[6888:2988:1105/162913:ERROR:child_process_launcher.cc(444)] Failed to launch child process
[6888:2988:1105/162913:WARNING:sad_tab_view.cc(105)] Tab Killed: http://localhost:9876/
完全相同的控制台命令在手动执行时工作正常,但是有一些关于构建服务执行导致Chrome崩溃的事情的方式。有没有人对此有任何想法?
答案 0 :(得分:1)
我之前见过这个问题。 我无法解决它,但能够解决它。 这似乎与在Windows上运行Jenkins作为SYSTEM帐户有关 - 如果是这种情况,请尝试将服务更改为作为服务帐户运行。
我使用PSexec解决了这个问题 - 您可以在以下位置下载该工具: https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
然后在工作中使用它来执行Karma: C:\ Path \ to \ pexec.exe -s -i -accepteula karma start $(LandscapeExplorerProjectFolder)karma.conf.js - log-level debug
这似乎与使用SYSTEM产生子进程有关。