2015-02-11 118 views
2

我的項目中有多個模塊,其中只有一個是節點項目。然後我使用gradle-node-plugin與其餘模塊集成。由於我使用jenkins for CI,我希望jenkins能夠完全清除項目目錄並檢出最近的版本,所以每次默認行爲是npm install(這裏通過gradle-node-pluginnpmInstall包裝器,但同樣的情況是純npm)每次下載所有依賴關係CI重建已被觸發。避免每次在CI環境中安裝所有node_modules依賴關係

我不知道是否有可能請安裝全局某處package.json依賴關係(例如在.gradle/nodejs/<node-dist>/lib/node_modules/gradle-node-plugin或保持node_modules構建樹之外(例如,在詹金斯工作區文件夾)的情況下

編輯:

由於項目中的所有節點依賴項集實際需要大約300MB,因爲很少有因素 - 解決所有這些因素所需的大小,時間,代理緩存似乎還不夠,還有一些依賴項需要在下載後重新編譯例如socket-io)。暫時我們是e使用build.gradle中定義的解決方法將node_modules移動到父文件夾,該文件夾將不會被清理並且不會使用符號鏈接。該解決方法僅在Jenkins環境中激活。

回答

0

你希望創建一個mirror of the npm repository,如果是的話,有一個NPM模塊,以做到這一點

NPM-鏡是從 另一個NPM註冊表鏡像NPM包的子集的工具。它同步所有的特定節點模塊的依賴關係,並將它們寫入本地文件系統,這樣一個簡單的網絡服務器可以表現得像一個commonjs兼容包 註冊表。

+0

我已經在研究[npm-lazy](http://mixu.net/npm_lazy/),但仍然解決所有的npm(並且實際上也是bower)依賴關係需要花費一些時間,它似乎是與maven/gradle構建系統相比,可以在構建樹之外保留依賴關係。 無論如何,某種鏡子可能是一種解決方法。 – ciekawy 2015-02-12 08:54:53