過去幾個月我一直在學習Node,現在有一個複雜的應用程序。我的問題是,我想讓它可重用,而且我是一個完全的noob,我從一開始就沒有想到這一點。部署節點應用程序的正確工作流程
我有什麼:
一個複雜的節點/快速運行的應用程序與PM2守護進程。
很多孩子的處理腳本,一些節點,有的使用casperjs/phantomjs
的數據庫憑據,服務器端口配置文件等
許多NPM的依賴關係,一些對於應用程序本身,一些只能由子進程使用。 該應用程序本身運行完美,每個路徑都存儲在配置文件中,因此部署應該不會太難。
- 中的package.json文件中的所有NPM依賴
我想做什麼:
- 商店的Git回購的應用程序,所以我可以快速地將它設置上EC2實例。
- 以簡單的方式安裝pm2,phantomjs/casperjs,所有node_modules並創建應用程序的樹狀結構(包括用於應用程序創建文件的一些空文件夾),以便那些不瞭解應用程序的人可以獲得它運行起來很快。
我的問題:
我需要的node_modules添加到我的git回購?
如何以最簡單的方式整合應用程序部署,安裝依賴項以及安裝pm2,幻像和casper?我不介意製作劇本,但我不知道從哪裏開始或最佳做法。我在網上看到的大部分內容都是關於nodejitsu/heroku並且不適用。
我的缺點:
- 新到Git
- 沒有遵循任何發展指導方針,這一切開始作爲一個玩具項目。
希望我的問題可以理解,謝謝大家!
編輯:
到目前爲止,我有:
- 讀Git for beginners: The definitive practical guide
- 做了一個回購GitHub上,克隆並NPM用來安裝以獲得我的應用程序的依賴關係。
仍試圖弄清楚如何包含外部依賴關係。部署
非節點依賴關係呢? – xShirase
您可以將它們添加到'apt-get install'中,或者在'pm2 index.js'之前添加另一個步驟並顯示如何安裝這些依賴項。 – cspiegl
是的,這就是我所做的,用一個簡單的bash腳本來使事情更順暢。 Thankks! – xShirase