Windows START命令无法使用Jenkins Pipeline

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows START命令无法使用Jenkins Pipeline相关的知识,希望对你有一定的参考价值。

我的脚本中有以下代码。

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这是Jenkins的输出。

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,Windows 10为Jenkins 2.89.4

答案

Windows服务无法打开新的控制台窗口,但START就是这样做的。因此,如果您将Jenkins作为服务运行,这将无法正常工作。但是,如果您只是跳过START命令,您的脚本应该可以正常工作。只要npm run prod应该就够了。

编辑:

好的,这是一个解决方法:如果您确实需要使用start命令,则可以使用任务计划程序创建任务。在那里你可以放置你想要的任何批次代码或只是将它指向一个bat文件。使用Schtasks /run /TN TaskName从Jenkins执行您的任务。

以上是关于Windows START命令无法使用Jenkins Pipeline的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 10 上发出 mfp start 命令

无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorerWindows服务器管理工具或NET START命令启动它(示例

Jenkin-持续集成

无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorerWindows服务器管理工具或NET START命令启动它(示例

无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorerWindows服务器管理工具或NET START命令启动它(示例

System.Diagnostics.Process.Start() 从 Windows 服务调用时无法启动进程