Joe*_*Joe 14 teamcity build node.js npm
当谈到nodejs npm时,我有点像n00b,但是由于在我们的构建环境中使用几篇文章推荐的步骤实现它,它的构建时间增加了三倍.
我们将它用于标准的东西(minify/concat/etc js/css/etc)
我们使用TeamCity并添加了一个Node.js NPM步骤然后执行任务(RE:https://github.com/jonnyzzz/TeamCity.Node)
设置NPM的任务花费最多的时间,2分10秒,这占调用命令"npm install"的总构建时间的65%,这似乎重新下载每个构建的所有包
步骤3/7:NPM设置(Node.js NPM)(2m:10s)
[npm install]开始:cmd/c npm install
之前的总构建时间约为1分30秒,包括单元测试.
无论如何在本地缓存这些并阻止在每个构建上重新下载?在用户配置文件或可能与构建文件夹相对的东西?
更多详情..
这可能最好地解释了设置http://www.dotnetcurry.com/visualstudio/1096/using-grunt-gulp-bower-visual-studio-2013-2015
我们有使用新的Task Runner Explorer的C#项目,依赖关系被保存到package.json中,你在你工作区的本地环境中预先运行"npm install"一次(需要使用.tfignore来防止它从签入到源)然后不再,除非你启动一个新的本地工作区.
在构建运行时,它需要从命令行运行"npm install",它从package.json文件中获取依赖项,并且每次都将它们安装到构建工作目录内的子文件夹中,即使文件已经存在从以前的版本(即TC代理没有清理它们),afaik你不能将它们安装在工作文件夹之外.
我可能是错的......或者我应该说我希望我错了,并寻找一种方法来支持这一点,但我们使其工作的任何方式都需要与任务跑者探险家合作以便F5体验他们当地的开发人员仍然是一样的.
我们确实有多个代理商.
sfe*_*cik 11
我不知道Node.js,但这里有一些特定于TeamCity的建议:
%TEMP%?如果是这样,它们将无法在后续TeamCity构建之间重复使用,因为TeamCity代理程序劫持了%TEMP%目录(将其重定向到<TeamCity Home>/buildAgent/temp/buildTmp)并且在每次新构建之前始终完全擦除此目录.(见buildTmp 这里.)
%TEMP%和其他地方)管理的部分,从而为TeamCity提供一些余地.我发现修复此问题的最佳方法是备份/恢复节点模块文件夹,我在这里做了一篇关于它的博客文章
https://beerandserversdontmix.com/2016/06/04/teamcity-and-avoiding-redownloading-of-npm-packages/
| 归档时间: |
|
| 查看次数: |
10351 次 |
| 最近记录: |