使用jenkins执行.bat文件

时间:2014-03-18 12:30:31

标签: java batch-file jenkins cmd jenkins-plugins

我正在尝试使用jenkins的bat命令运行jar文件。我想弹出cmd并执行jar文件。但问题是jenkins在其控制台内执行命令。然后我插入“开始”命令,希望它能工作因为它创建了一个单独的cmd来运行jar。 这是我的蝙蝠代码

start "window_name" java -jar myjarfile.jar     

但是当我使用jenkins执行它时,它不会创建一个单独的cmd窗口,但它无论如何都会执行jar文件。它显示了这一行,

 C:\Update>start "window_name" java -jar myjarfile.jar

任何想法如何解决这个问题?我想在执行时弹出一个黑色的窗口。

2 个答案:

答案 0 :(得分:1)

诀窍是弄清楚要启动cmd.exe会话。在远程服务器上(Jenkins最常见的情况),没有必要直接进行。您的远程桌面会话与在控制台中物理登录的人员不在同一会话中。

  • 启动 Windows任务管理器
  • 点击用户标签
  • 记下您想要的
  • 登录用户会话的 ID
  • Windows Sysinternals
  • 下载psexec
  • 从此处向下编辑
  • 打开提升的命令提示符:在“开始”的快速搜索中键入cmd,右键单击cmd.exe,然后选择Run as Administrator
  • 输入C:\path\to\psexec.exe -accepteula并按Enter键。
  • 输入C:\path\to\psexec.exe -i 1 cmd并按Enter键。 (如果看到命令提示符出现,一切正常,请立即关闭)
  • 在作业配置中,配置执行Windows批处理命令步骤 写下面的内容: C:\path\to\psexec.exe -accepteula && C:\path\to\psexec.exe -i 1 cmd /c start C:\full\path\to\java.exe -jar myjarfile.jar

本回答Open Excel on Jenkins CI

中提供了更详细的说明

答案 1 :(得分:0)

谢谢大家,也许你的解决方案也会做到这一点。最后我做的是创建一个套接字程序并自己执行服务器。然后安排jenkins执行客户端。(我的环境中的服务器和jenkin环境中的客户端)当客户端连接到服务器时,它执行bat文件。现在一切正常。