【发布时间】:2013-05-27 05:57:00
【问题描述】:
在我的 Jenkins 工作中,我想使用 Grunt 构建一个 JavaScript 应用程序。 Jenkins 构建脚本会创建一个构建目录(如果它尚不存在),更改该目录并运行:
npm install grunt
npm install grunt-zip
grunt --gruntfile=[something]
(当然grunt-cli 是全局安装的。)当我构建作业时,第一条语句会导致 Grunt 和依赖项按预期被拉下。但是,作业随后成功终止:
Archiving artifacts
No emails were triggered.
Finished: SUCCESS
第二个npm install 没有运行。知道为什么脚本在运行 npm install 后终止,而不是继续执行后续语句吗?
【问题讨论】:
-
如果您在 package.json 中使用 devDependencies 并通过单个“npm install”将它们全部拉入,会有什么不同吗?
-
其实我刚刚想出了这个。
npm被实现为批处理文件(使用 bash shell),因此需要使用call从 Jenkins 脚本中调用它,如下所示:call npm install grunt。
标签: node.js jenkins npm gruntjs