2013-11-04 8 views
5

पर तैनाती के लिए उचित वर्कफ़्लो मैं पिछले कुछ महीनों से नोड सीख रहा हूं, और अब एक जटिल अनुप्रयोग है। मेरी समस्या यह है कि, मैं इसे पुन: प्रयोज्य बनाना चाहता हूं, और जैसा कि मैं एक पूर्ण नोब था, मैंने शुरुआत से इस बारे में सोचा नहीं है।नोड ऐप

मैं क्या है:

एक जटिल नोड/एक्सप्रेस एप्लिकेशन PM2 के साथ एक डेमॉन के रूप में चल रहा है।

  • बच्चे की बहुत सारी प्रक्रियाओं लिपियों, नोड में कुछ है, और कुछ casperjs का उपयोग कर,

  • phantomjs db साख, सर्वर पोर्ट के लिए एक कॉन्फ़िग फ़ाइल/आदि

  • कई NPM निर्भरता, कुछ ऐप के लिए, कुछ केवल बाल प्रक्रियाओं द्वारा उपयोग किए जाते हैं। ऐप स्वयं पूरी तरह से चल रहा है, प्रत्येक पथ कॉन्फ़िगरेशन फ़ाइल में संग्रहीत है, इसलिए तैनाती बहुत कठिन नहीं होनी चाहिए।

  • package.json फ़ाइल के सभी NPM निर्भरता

मैं क्या करना चाहते हैं क्या:

  • स्टोर एक GIT रेपो पर एप्लिकेशन तो मैं इसे जल्दी एक पर सेट कर सकते हैं ईसी 2 उदाहरण।
  • pm2, phantomjs/casperjs, सभी node_modules इंस्टॉल करें और ऐप की आर्बोरेंसेंस बनाएं (ऐप-बनाई गई फ़ाइलों के लिए कुछ खाली फ़ोल्डर्स शामिल हैं), इसलिए जिन लोगों को ऐप का ज्ञान नहीं है, वे लोग प्राप्त कर सकते हैं यह ऊपर और तेजी से चल रहा है।

मेरा प्रश्न:

  • मैं अपने Git रेपो को node_modules जोड़ने की जरूरत है?

  • मैं एप तैनाती, निर्भरताओं को स्थापित करने और सबसे आसान तरीके से pm2, प्रेत और कैस्पर को कैसे स्थापित कर सकता हूं? मुझे एक स्क्रिप्ट बनाने में कोई फर्क नहीं पड़ता लेकिन मुझे वास्तव में नहीं पता कि कहां से शुरू करना है या सर्वोत्तम प्रथाएं हैं। वेब पर जो कुछ मैं देखता हूं वह नोडजित्सु/हेरोकू के बारे में है और लागू नहीं होता है।

मेरे खामियां:

  • नया git को
  • विकास के लिए किसी भी दिशा निर्देशों का पालन नहीं किया है के रूप में यह सब एक खिलौना परियोजना के रूप में शुरू कर दिया।

आशा है कि मेरी समस्या समझ में आ रही है, धन्यवाद सब!

संपादित करें:

अब तक मेरे पास है:

  • पढ़ें Git for beginners: The definitive practical guide
  • GitHub पर एक रेपो बने, यह क्लोन और NPM इस्तेमाल किया मेरे ऐप निर्भरता प्राप्त करने के लिए स्थापित करें।

अभी भी बाहरी निर्भरताओं को शामिल करने का तरीका जानने का प्रयास कर रहा है।

उत्तर

3

एक तरह से तैनात करने के लिए आदेशों की एक सूची स्थापित जोड़ने के लिए होगा:

  1. क्लोन भंडार
  2. निर्भरता स्थापित apt-get install npm ...
  3. नोड वैश्विक मॉड्यूल npm install -g pm2
  4. स्थापित स्थापित नोड निर्भरता npm install और npm update
  5. कॉपी config.example.json से config.json और बदलें I अपनी आवश्यकताओं के टी
  6. शुरू एप्लिकेशन pm2 index.js

node_modules फ़ोल्डर Git रेपो में नहीं जोड़ा जाना चाहिए। आपको अपनी सभी परियोजनाओं को नोड निर्भरताओं को package.json फ़ाइल में जोड़ना चाहिए और npm install/npm update बाकी करना चाहिए।

+0

गैर-नोड निर्भरताओं के बारे में क्या? – xShirase

+0

आप उन्हें 'apt-get install' में जोड़ सकते हैं या बस 'pm2 index.js' से पहले एक और चरण जोड़ सकते हैं और दिखा सकते हैं कि उन निर्भरताओं को कैसे इंस्टॉल करें। – cspiegl

+0

हाँ, चीजों को आसान बनाने के लिए मैंने एक सरल बैश स्क्रिप्ट के साथ ऐसा किया है। Thankks! – xShirase

0

आप सभी तैनाती कार्यों को आसानी से करने के लिए Capistrano का उपयोग कर सकते हैं। यह रूबी में लिखा गया है, लेकिन आप इसे जो कुछ भी चाहते हैं उसे तैनात करने के लिए उपयोग कर सकते हैं, जिसमें Node.js ऐप्स शामिल हैं।

आप examples और integration modules पर बहुत कुछ पा सकते हैं।