Batch file Windows启动命令无法从Jenkins管道运行

Batch file Windows启动命令无法从Jenkins管道运行,batch-file,jenkins,jenkins-pipeline,command-prompt,Batch File,Jenkins,Jenkins Pipeline,Command Prompt,我的脚本中有以下代码 echo Trying to kill all node processes. taskkill /f /im node.exe echo Running the application... start npm run prod echo Success... 如果我打开一个命令提示符并从那里运行它,脚本运行正常,但是当我从Jenkins管道运行它时,它不会启动npm run进程 奇怪的是建造成功了 有人能帮我解开这个谜吗? 谢谢 更新-1 这是詹金斯的输出 up

我的脚本中有以下代码

echo Trying to kill all node processes.
taskkill /f /im node.exe

echo Running the application...
start npm run prod

echo Success...
如果我打开一个命令提示符并从那里运行它,脚本运行正常,但是当我从Jenkins管道运行它时,它不会启动
npm run
进程

奇怪的是建造成功了

有人能帮我解开这个谜吗? 谢谢 更新-1 这是詹金斯的输出

up to date in 23.58s
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Deployment)
[Pipeline] bat
[ABC Pipeline] Running batch script
*************************************
    Build Started
    @author: 
*************************************
Trying to kill all node processes.
ERROR: The process "node.exe" not found.
Running the application...
Success...
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Automation Testing)
[Pipeline] echo
Testing...
[Pipeline] echo
Tests passed!
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
更新-2
npm文件扩展名为.cmd,而带有Jenkins 2.89.4的Windows 10无法打开新的控制台窗口,但Windows服务正是这样做的。因此,如果您将Jenkins作为服务运行,这将不起作用。但是,如果只跳过
START
命令,脚本应该可以正常工作。只要
npm运行prod
就足够了

编辑:


好的,这里有一个解决方法:如果确实需要使用start命令,可以使用任务调度器创建任务。在那里你可以放任何你想要的批处理代码或者直接指向bat文件。使用
Schtasks/run/TN TaskName
从Jenkins执行任务。

您得到的错误日志是什么?没有错误。只有每一条信息都被正确地打印出来了,但有些“如何开始”并没有起作用。我也做了类似的事情,尝试启动计算器。我也并没有注意到进程已经启动,直到我在启动进程之后放置了STARTSLEEP 5。这个过程确实开始了,但在詹金斯完成后停止了。想弄清楚为什么会这样。是的,我想类似的事情正在这里发生。我注意到在作业执行时有几个命令提示开始,但一旦构建完成,它们就会终止。@VladimirBundalo我为此创建了一个jenkins问题。是的,确实如此,但是如果我只是删除START,那么它将在我的jenkins中运行,因此工作永远不会结束。非常感谢,这个答案比jenkins文档中的答案简单得多。