在Windows上使用npm install时,Jenkins脚本过早退出

Mat*_*ner 12 node.js npm jenkins gruntjs

在我的Jenkins工作中,我想使用Grunt构建一个JavaScript应用程序.Jenkins构建脚本创建一个构建目录(如果它尚不存在),对该目录的更改并运行:

npm install grunt
npm install grunt-zip
grunt --gruntfile=[something]
Run Code Online (Sandbox Code Playgroud)

(当然grunt-cli是全局安装的.)当我构建作业时,第一个语句会导致Grunt和依赖关系按预期被拉下来.但是,作业会成功终止:

Archiving artifacts
No emails were triggered.
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)

第二个npm install没有运行.知道为什么脚本在运行后终止npm install而不是继续后续的语句?

Mat*_*ner 43

事实证明这npm是一个批处理文件,而不是可执行文件,因此需要使用callJenkins脚本调用它:

call npm install grunt
Run Code Online (Sandbox Code Playgroud)

  • 请注意,此_only_适用于Windows. (4认同)