2010-05-26 7 views
5

मैंने यहां अनुप्रयोगों को तैनात करने के बारे में बहुत कुछ पढ़ा है, लेकिन अभी तक हमारी ज़रूरतों के लिए उपयुक्त उत्तर नहीं मिला है।ज़ेंड वेब एप्लिकेशन को तैनात करने का सबसे अच्छा तरीका

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

क्या किया जाना चाहिए है निम्नलिखित:

  • उत्पादन आवेदन पर एक रखरखाव पेज डाल? SVN
  • से
  • निर्यात संस्करण एक निश्चित निर्देशिका में सीएसएस फ़ाइलें कम करें करने के लिए एक खोल स्क्रिप्ट चलाने फ़ाइलों और निर्देशिकाओं
  • कॉपी/सिंक पर (खोल स्क्रिप्ट किया जाता है)
  • सेट फाइल अनुमति? एक उत्पादन सर्वर के लिए फ़ाइलें -> केवल फाइलों को बदल दिया?
  • उत्पादन आवेदन से रखरखाव पृष्ठ हटा दें?

हम एसवीएन का उपयोग कोड संस्करण उपकरण के रूप में करते हैं और हम उत्पादन में हमारे सर्वर ओएस के रूप में CentOS चला रहे हैं।

मैं के बारे में पढ़ा है:

  • rsync
  • fredistrano/Capistrano
  • कस्टम शेल स्क्रिप्ट

Phing आसान एक क्लिक तैनाती के लिए अपने सलाह क्या हैं?

+0

समान: http://stackoverflow.com/questions/1143154/how-to-deploy -your-php-अनुप्रयोग-सही ढंग से – Sampson

+0

एक और समान: http://stackoverflow.com/questions/2006461/how-to-do-deployment-for-php-plication –

उत्तर

3

मैं निर्यात (या चेकआउट) एक अलग नाम (आमतौर पर तोड़फोड़ संशोधन संख्या & तारीख) के तहत साइट की एक प्रति और जगह

1000.20100515/ 
    application/ 
    public/ 
    library/ 
1020.20100621/ 
current (symlink to 1000.20100515/) 
dev (symlink to 1020.20100621/) 

# copy whatever 'dev' points to as the new 'current' symlink. 
rm current && cp -d dev current 

दस्तावेज़ जड़ तक अपाचे में सेट किया गया है में दस्तावेज़ जड़ सिमलिंक ../current/public

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

जोड़ा गया माणिक-आधारित उपकरण 'Capistrano' एक उत्कृष्ट विधि पूरी तरह से मशीनों के एक नंबर (यह एक, या एक दर्जन से अधिक हो) भर में इस स्वचालित करने के लिए किया जा सकता है, और वास्तव में यह अब तैनाती के अपने पसंदीदा तरीका है। Capifony Capistrano के लिए एक प्लगइन है जो Composer-आधारित परियोजनाओं का भी समर्थन करता है।

+3

और आप डीबी स्कीमा परिवर्तनों को कैसे प्रबंधित करते हैं? यही वह जगह है जहां मजा शुरू होता है: पी। – wimvds

+0

युप, यह भी सुनना अच्छा लगेगा। Dbdeploy? – Jorre

+0

.... ध्यान से। –

0

Capistrano आज़माएं। यह रूबी के लिए विकसित किया गया है और आपको अपने कंप्यूटर पर रूबी स्थापित करने की आवश्यकता है, लेकिन इसे लक्षित सर्वर पर रखना आवश्यक नहीं है।

यह गिट या svn के साथ काम करता है, और यह लक्ष्य सर्वर पर संस्करण बनाता है। आप वापस ले सकते हैं और सीएमडी की एक पंक्ति के साथ अपना नया संस्करण तैनात कर सकते हैं।

मैं इस ट्यूटोरियल पाया है: http://tfountain.co.uk/blog/2009/5/11/zend-framework-capistrano-deployment

आप किसी अन्य ट्यूटोरियल यहाँ के साथ Capistrano का एक संशोधित संस्करण है: http://www.codewithstyle.eu/2011/05/03/deploying-zend-framework-applications-using-capistrano/