我正在使用基於NPM的工具構建HTML5前端(grunt
)。持續集成的NPM最佳實踐
我的持續集成構建過程的第一步之一是運行npm install
。
npm install
是SLOW。即使使用本地NPM代理緩存工件(Sonatype的Nexus 3),它仍然需要4分鐘!
$> time npm install
real 4m17.427s
user 0m0.170s
sys 0m0.290s
如果我按照我的持續集成常用的最佳實踐,我就從一個原始的SCM倉庫啓動和運行構建。這意味着每次CI構建將不得不執行新的npm install
並承擔4分鐘的成本。
這是一個顯着我的建造時間比例。我很不滿意這個構建花了這麼長時間。
另一種方法似乎是讓node_modules
保持在構建之間。但是,由於構建變得不穩定,我遇到了問題。
從package.json
中刪除依賴關係並不會從node_modules
中刪除它們,只需使用簡單的npm install
即可。我可以先用npm prune
解決這個問題。
什麼被認爲是最佳實踐在這裏?
你使用的是什麼版本的npm? npm 5保留[本地程序包緩存](https://docs.npmjs.com/cli/cache)。 – msanford