2008-09-24 16 views
6

हम वेब अनुप्रयोगों की हमारी तैनाती को स्वचालित करना चाहते हैं, खासकर जब स्थानीय विकास से रिमोट सर्वर पर जा रहे हैं।आप अपने वेब अनुप्रयोगों को तैनात करने के लिए क्या उपयोग करते हैं?

हमारा वर्तमान स्टैक दूरस्थ रूप से एलएएमपी है, स्थानीय स्तर पर एमएएमपी, लेकिन मुझे सामान्य रूप से दिलचस्पी है कि लोग इस कार्य के लिए अपने पर्यावरण के बावजूद क्या उपयोग कर रहे हैं?

मैं सिर्फ चारों ओर फ़ाइलों को ले के बारे में बात नहीं कर रहा हूँ, मैं भी मतलब जैसे अन्य कार्यों पर विचार:

  • प्रबंध विन्यास
  • विविध तैनाती के लिए आवश्यक कार्यों (बनाने लॉग डाटाबेस स्कीमा की स्थापना फ़ाइलों आदि)
+0

[Mercurial] (http://www.selenic.com/mercurial/wiki/) –

उत्तर

0

rsync-> महान उपकरण

लेकिन, टी वह जवाब आपके enviro पर निर्भर करता है। स्रोत नियंत्रण के लिए आप क्या उपयोग करते हैं? बिल्ड सिस्टम के लिए आप क्या उपयोग करते हैं? आदि

वेब सर्वर के लिए परिनियोजन एक "सीपी" कमांड से अधिक कुछ नहीं है, इस पर निर्भर करता है कि कौन सी फाइलें बदली गईं। आपको ऐसी प्रक्रिया बनाने की आवश्यकता है जो फ़ाइलों को बदलता है, उन फ़ाइलों को स्रोत नियंत्रण से खींचें और फिर उन परिवर्तनों को धक्का दें। जब आप PHP फाइलों से निपट रहे हैं, तो आप कैसे जानते हैं कि कौन सी फाइलों को धक्का देना है? यही समस्या है। आप इसे हल करते हैं, आप ठीक हो जाएंगे। फ़ाइलों को सीपी करने और उन्हें "तैनाती" करने का टूल आसान हिस्सा है।

2

हम लाइव होने की आवश्यकता होने पर "svn export" का उपयोग करते हैं। हमारे कोड को संशोधन नियंत्रण के तहत रखता है, और हमें इसे परीक्षण बॉक्स या हमारे स्थानीय कंप्यूटर पर सक्रिय रूप से विकसित करने देता है।

3

कब और जहां संभव हो, मैं एक स्वचालित तैनाती पसंद करता हूं जैसे कि चींटी के साथ, यहां तक ​​कि एफ़टीपी परिनियोजन को आसानी से संभाला जा सकता है। तैनाती को स्वचालित करना, स्वचालित निर्माण की तरह, प्रक्रिया का अनुमान लगाना और प्रक्रिया से बाहर त्रुटि लेना और परिभाषा से कम से कम न्यूनतम दस्तावेज आवश्यक है (यानी निर्माण स्क्रिप्ट) प्रक्रिया को समझने के लिए एक नए प्रोग्रामर के लिए।

0

मैं एक .NET पुरुष हूँ इसलिए हमारे लिए यह CruiseControl + nant

Ive Jet Brains TeamCity के बारे में बड़े बड़े काम के बारे में सुना है, हालांकि है।

2

मैं अभी तक यह प्रयास नहीं किया है, लेकिन मैं भविष्य में Fabric का उपयोग करने में देख रहा हूँ:

कपड़ा एक सरल pythonic दूरस्थ तैनाती उपकरण है।

यह समानांतर या क्रमशः कई सर्वरों पर फ़ाइलों को अपलोड करने और चलाने के लिए डिज़ाइन किया गया है। इन आदेशों को कार्यों (नियमित पायथन फ़ंक्शन) में समूहीकृत किया गया है और 'fabfile' में निर्दिष्ट किया गया है।

यह थोड़ा सा कैपिस्ट्रानो जैसा है, सिवाय इसके कि यह पाइथन में है, आपको उम्मीद है कि आप रेल अनुप्रयोगों को तैनात करने की उम्मीद नहीं करेंगे, और 'put' कमांड काम करता है।

कैपिस्ट्रानो के विपरीत, फैब्रिक छोटे, हल्के, बदलने के लिए आसान और किसी भी विशिष्ट ढांचे के लिए बाध्य नहीं रहना चाहता है।

+0

कपड़े पर अधिक जानकारी: http://stackoverflow.com/questions/1233655/what-is-the-simplest-way- टू-ssh-का उपयोग कर-अजगर – hughdbrown

3

पिछली कंपनी में उपयोग की जाने वाली चीज़ों में से एक था - विश्वास करें या नहीं - आरपीएम फाइलें।जब हमने अपना सॉफ़्टवेयर बनाया, तो इसके सभी हिस्सों को RPM फ़ाइलों में पैक किया जाएगा, जिन्हें सर्वर पर तैनात किया गया था।

एक क्लस्टर में
  1. मास्टर सर्वर सभी सर्वरों और उनकी भूमिकाओं, जो प्रत्येक सर्वर की जरूरत पैकेज निर्धारित करने के लिए इस्तेमाल किया जाएगा की एक सूची थी।
  2. तैनाती चरण प्रत्येक सर्वर पर संस्करणों की जांच करेगा और यह निर्धारित करेगा कि किन सर्वरों को अपग्रेड की आवश्यकता है। प्रत्येक सर्वर को आवश्यक किसी भी नए पैकेज की एक प्रति प्राप्त होगी,
  3. प्रत्येक सर्वर के पास तैनाती स्क्रिप्ट द्वारा स्थापित संकुल होंगे, जो प्री-इंस्टॉलेशन और पोस्ट-इंस्टॉलेशन चेक और कार्य प्रबंधित करेगा। , और खेत उन बाहर सर्वरों के लिए (भूमिकाओं की अपनी सूची के आधार पर)
  4. तैनाती स्क्रिप्ट किसी भी सेवा एक सर्वर की जरूरत के लिए विन्यास फाइल उत्पन्न करने के लिए विन्यास टेम्पलेट्स को पढ़ने के लिए, एक अलग प्रक्रिया, विन्यास प्रबंधन प्रणाली को ट्रिगर करेगा
  5. तैनाती प्रणाली प्रत्येक सिस्टम के लिए किए जाने वाले कार्यों की एक सूची उत्पन्न करेगी (सेवाओं को पुनरारंभ करने के लिए), और अद्यतन को प्रबंधित करने वाले ऑपरेटर को प्रस्तुत करें। ऑपरेटर तब पुनरारंभ करेगा (यदि ग्राहक की निर्धारित रखरखाव विंडो के दौरान अपडेट हो रहा था, या हमारे पास मध्य-सेवा सेवा पुनरारंभ के लिए कार्य-आदेश था), या कार्यों की सूची के साथ रात के कर्मचारियों के लिए टिकट बनाएं सामाप्त करो।

आरपीएम एक भयानक हैक है, लेकिन हमारे क्लाइंट सभी Red Hat Linux (हमारी आवश्यकता के अनुसार) चल रहे थे, यह सही समझ में आया। अगर मेरे पास कोई विकल्प था, तो मैं डेबियन या उबंटू जैसे सिस्टम के साथ जाऊंगा, और एक रिपोजिटरी स्थापित करूँगा जो सिस्टम सभी खींच सकता है। फिर भी, यह हजारों सर्वरों के साथ सैकड़ों ग्राहकों के लिए अच्छा काम करता है। काफी साफ़।

1

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

बिना किसी अतिरिक्त सेटअप के साथ

, Capistrano:

  • एक नया, दिनांक, फ़ोल्डर
  • के लिए बाहर सबवर्सन से नवीनतम स्रोत कोड
  • चेकों आवेदन सर्वर से कनेक्ट करने SSH का उपयोग करता है नई रिलीज को सक्रिय करता है एक प्रतीकात्मक कड़ी या दो
  • को पुन: लोड अनुप्रयोग सर्वर

और अनुसंधान के साथ इस सब को अपडेट करके ओलबैक कार्यक्षमता।

एक और अच्छा विकल्प आपके ऑपरेटिंग सिस्टम की पैकेजिंग सिस्टम (आरपीएम, डेब/एपीटी, आदि) का उपयोग करना होगा। यह आपके ऑपरेटिंग सिस्टम और इसकी नीतियों के साथ परिचितता के अच्छे स्तर की आवश्यकता होती है, लेकिन यदि आप जानते हैं कि आप क्या कर रहे हैं तो अन्य टूल के साथ बहुत अच्छा लगा।

संबंधित मुद्दे

 संबंधित मुद्दे