Jenkins将无法正确执行.bat命令

时间:2013-04-11 11:40:24

标签: html batch-file jenkins

我已经设置了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   完成:失败

3 个答案:

答案 0 :(得分:6)

如果您将Jenkins作为Window的服务运行,则可能需要启用该服务以与桌面交互。执行以下操作:

  1. 打开服务模块
  2. 右键单击Jenkins并选择“属性”
  3. 在“登录”标签上,以“本地系统帐户”运行,然后选中“允许服务与桌面交互”复选框
  4. - 或 -

    您可以通过命令行运行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)的问题

Open Excel on Jenkins CI

问题在于,虽然您的命令确实有效,但它在Session 0(这是启动您的Jenkins服务的Local System用户的会话)中执行此操作,您在登录时无法看到您自己的用户帐户,最有可能是Session 1

希望这有帮助