我已经设置了Jenkins,以便构建我的项目,运行一些测试,然后创建一个包含报告的HTML页面。
我制作了一个.bat文件,在我的浏览器中打开html报告。该.bat文件中只有一行:
"E:\user\Visual Studio 2010\JenkinsWorkspace\JobTest\index.html"
当我自己在提示符中运行.bat时,页面index.html已打开(因此可以正常工作)。
但问题是当我设置Jenkins的工作来运行.bat时,没有任何反应。 在调用.bat之后,工作就会停滞不前,而且永远不会完成。
知道为什么吗?
注意:我有其他由Jenkins成功执行的.bat(不打开html页面)。
编辑:这是我在Jenkins菜单的提示日志中得到的错误:
C:\ Program Files \ Jenkins \ jobs \ JobTest2_enUnSeulScript \ workspace> echo“ 打开html页面“”>>打开html页面“
C:\程序 文件\詹金斯\ \工作JobTest2_enUnSeulScript \工作区>“C:\ PROGRAM Files \ Google \ Chrome \ Application \ chrome.exe“”E:\ user \ Visual Studio 2010 \ JenkinsWorkspace \ JobTest \ testResults.14h05m15s65ms.11.04.2013.trx.htm“ [688:3900:0411/140520:错误:gpu_info_collector_win.cc(96)]不能 检索有效的WinSAT评估 [688:3900:0411/140520:错误:process_singleton_win.cc(540)]锁定文件 无法创建!错误代码:32
[688:3900:0411/140520:错误:chrome_browser_main.cc(1157)]失败 为您的个人资料目录创建一个ProcessSingleton。这意味着 运行多个实例将启动多个浏览器进程 而不是在现有流程中打开一个新窗口。现在中止了 避免配置文件损坏。
构建步骤'Exécuteruneligne de commande batch Windows'标记构建为失败[htmlpublisher]
存档HTML报告... [htmlpublisher]在PROJECT级别存档 E:\ user \ Visual Studio 2010 \ JenkinsWorkspace \ JobTest到C:\ Program 文件\詹金斯\工作\ JobTest2_enUnSeulScript \ htmlreports \ HTML_Tests_Report 完成:失败
答案 0 :(得分:6)
如果您将Jenkins作为Window的服务运行,则可能需要启用该服务以与桌面交互。执行以下操作:
- 或 -
您可以通过命令行运行Jenkins。即:“java -jar jenkins.war”。
答案 1 :(得分:1)
我猜你的Jenkins安装是作为Windows服务运行的。当Jenkins在Windows计算机上作为服务运行时,它在系统帐户下运行,而不是在用户帐户下运行。系统帐户通常与用户帐户的设置不同。
您可能想尝试启动CMD shell作为系统帐户。 (这个问题的答案可以帮助你:How Do You Run CMD under System Account。)从那里,尝试运行批处理文件,看看会发生什么。您可能会发现在工作之前需要设置像PATH这样的东西。
答案 2 :(得分:0)
我知道这已经晚了,但我刚刚回答了另一个关于如何在Windows上从Jenkins的服务中打开.exe(或.bat)的问题
问题在于,虽然您的命令确实有效,但它在Session 0
(这是启动您的Jenkins服务的Local System
用户的会话)中执行此操作,您在登录时无法看到您自己的用户帐户,最有可能是Session 1
。
希望这有帮助