2012-02-08 10 views
7

मुझे यह जानकर उत्सुकता है कि अन्य डेवलपर वेब-ऐप्स के संस्करण के साथ कैसे काम करते हैं और विभिन्न संस्करणों को तैनात करते हैं। मौलिक समस्या यह है कि जब आप कोई नया संस्करण तैनात करते हैं, तो कोई व्यक्ति आपके वेब-ऐप का उपयोग कर रहा है, जिस समय जावास्क्रिप्ट आदि उनके पास क्लाइंट-साइड नहीं है।वेब-ऐप परिनियोजन और एकाधिक संस्करण

क्लाइंट-साइड पर मीडिया संस्करण काफी आसान है, लेकिन है कि आप भी संस्करण के लिए अपने व्यापार तर्क और डेटाबेस है, जो जहां बातें गंदा मिल सकता है ...

जरूरत है अगर आप संस्करण तो मैं देख रहा हूँ इस के साथ काम करने के तरीके के एक जोड़े:

  1. प्रदर्शन साइट पर एक "उन्नयन" नोटिस जब एक नया संस्करण की तैनाती।

  2. संस्करण टैग क्लाइंट-साइड और पुराने क्लाइंट-साइड स्रोतों से नए संस्करण में किसी भी सबमिशन को अस्वीकार कर दें। काफी उचित है, लेकिन यह वास्तव में निरंतर तैनाती के साथ हाथ में नहीं जाता है।

  3. सतत डीबी माइग्रेशन - एक ही समय में ऐप के एकाधिक संस्करण चला रहा है (जब संभव हो तो उपयोगकर्ताओं को नए संस्करण में माइग्रेट करना)। इसे पुराने डीबी स्कीमा पर नए स्कीमा में "अग्रेषित पोर्ट" होने के लिए किसी भी अपडेट की आवश्यकता होगी। तैनाती के लिए सबसे आकर्षक लगता है, लेकिन यह भी जटिल हो सकता है।

  4. कहीं भी तीनों के बीच में।

मैं नोट करना चाहिए कि मैं बात इस तरह का के बारे में चिंता पता अधिकांश एप्लिकेशन की जरूरतों से परे है, लेकिन मैं इसके बारे में सोच रहा था और मुझे पता है कि कैसे दूसरों को इसके साथ सौदा उत्सुक हूँ।

+0

जटिल समस्या का प्रयास करें। निम्नलिखित उत्तर चेकआउट करें: http://stackoverflow.com/questions/389169/best-practices-for-api-versioning –

+0

अच्छा प्रश्न पूछा गया – bhargav

उत्तर

-2

आपकी सटीक आवश्यकताओं के लिए बहुत सारे टूल उपलब्ध हैं। फ़िंग और फ़िंगिस्ट्रानो की तरह। गिट भी इसे सरल बनाता है लेकिन वह ऑफ़लाइन नोटिस और डीबी परिनियोजन प्रदर्शित नहीं करेगा। मैं लाइव सर्वर पर ऑटो परिनियोजन के लिए नहीं जाने की सलाह देता हूं, लाइव पर स्टेजिंग और मैन्युअल परिनियोजन पर ऑटो परिनियोजन का उपयोग करता हूं। Google पर निरंतर एकीकरण की भी तलाश करें और टीमसिटी

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