我在脚本中有以下代码。
如果我在命令提示符中打开并运行脚本,它可以正常运行,但是当我从Jenkins流水线运行时,它无法启动
有人可以帮助我解决这个谜题吗? 谢谢。 更新-1 这是Jenkins的输出。
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。
npm
不是可执行文件,而是批处理文件。因此,请使用call npm run prod
,最好使用完全限定名称的npm
批处理文件,即路径 + 名称 + 扩展名。请参见此答案,其中解释了从批处理文件中运行批处理文件的 4 种方法。我从未安装过 NPM 包,也没有任何提问者发布过名为npm
的文件的文件扩展名。我真的很想知道npm
是npm.bat
还是npm.cmd
。@BilboBaggins,您能否在评论中发布文件npm
的文件扩展名或编辑您的问题并添加文件扩展名? - Mofi