2017-06-01 33 views
0

我正在尋找一種方法來將本地節點js應用程序部署到多臺機器上。簡單安裝節點js包沒有發佈

是否有某種方法可以創建批處理文件來壓縮或安裝文件,這將使我的節點js應用程序及其所有依賴項,並可能通過發送一個或多個文件來安裝在多臺機器上的節點js ?

另外,如果代碼更新到所有這些機器,是否有某種方式提供更新?

基本上,我希望能夠在本地多個位置安裝我的節點js包/應用程序,而無需將我的工作發佈到npm。有任何想法嗎?似乎找不到任何東西,除了把節點js放在網絡服務器上,還是發佈到npm?

+0

如果您可以與所有計算機共享驅動器,則可以將其安裝到中央位置並使用它。在發佈到npm時,請注意您可以1)設置您自己的註冊表,2)從(私有或公共)Git存儲庫安裝,或者3)'npm i --save file:/// path/to/central/package ' – Whymarrh

+0

@Whymarrh安裝到共享網絡位置只是要求問題。它引入了單點故障。此外,可能涉及多種體系結構,因此部署時將需要'npm rebuild'。 – Brad

+0

與package.json一起發送文件並從文件路徑安裝該軟件包的問題是,我在node_modules文件夾中創建了其他模塊,這些模塊未在npm上發佈,我也希望保持私有模式...我想我可以使用inno安裝程序來創建一個安裝文件,但然後我想theyd必須卸載並重新安裝每次我發送一個更新的安裝文件。還試圖想想使用批處理文件的解決方案... – GarudaAiacos

回答

0

這是相當大的。如果不使用先進的工具,這兩個可以工作:

git pull origin master 
npm install 

rsync

0

節點JS應用的解決方案和所有依賴

運行的npm install你在哪裏開發應用程序。然後,打包整個目錄,包括node_modules目錄。當您將tarball部署到另一臺機器時,請確保運行npm rebuild,以便爲您剛剛部署到的平臺構建任何二進制依賴關係。如果您在同一平臺類型上執行初始npm install,則通常可以跳過重建步驟。

此外,如果代碼更新到所有這些機器,是否有某種方式提供更新?

有無數的方法,你選擇什麼取決於你的需求。您可以檢入整個項目,包括node_modules以進行版本控制,並且只需定期從分支中提取Bash腳本並根據您的特定需求彈出必要的東西。當心,雖然node_modules往往是巨大的...它通常被排除在版本控制之外。也許堅持在服務器上的壓縮包,並根據需要拉動。

,並可能得到節點JS太

記住,獨立。每次部署應用程序時都不需要部署Node.js。