我正在构建一个angular2应用程序,我在TFS中开发了一个构建配置文件来自动构建它。
有四个npm命令:
npm install angular-cli -g
npm install
npm run typings
(执行typings install
)npm run build
(执行ng build
)然后是Copy Publish Artifact
步骤。
但是,即使每个步骤都过去了,它都显示Finishing Copy and Publish Build Artifacts
,项目已经构建,文件已经移动,实际构建 永远不会完成 。我已经尝试将这些npm命令分解为powershell脚本,在TFS中将它们作为NPM
命令,并将它们作为CMD
命令运行,但每次都会发生同样的事情。此外,如果我只是远程进入构建服务器并手动运行命令,它就可以正常工作。
有什么想法吗?
答案 0 :(得分:1)
我们最近遇到了同样的问题,我强烈建议您不要依赖TFS Build来恢复npm包。即使你做对了,也需要很长时间,并且不会将你需要的node_modules部署到IIS。
相反,使用WebPack将node_modules捆绑到bundle.js中。 在您的projects / scripts文件夹中引用它并将其检入源代码管理。
删除构建过程中的所有npm安装步骤(因为你现在引用了bundle.js,所以不再需要它了。)
这将提高您的质量(没有未来的软件包版本意外),并加快您的部署(无需再在每个版本上下载npm软件包)。
安装Webpack相当快,你可以省去头痛:)