इस तरह से मैंने इस क्षेत्र से संपर्क किया है, जबकि सिनडमिन / डेप्स भूमिका निभा रहा हूं। अधिकांश निम्नलिखित केवल सामान्य सिद्धांत होंगे जिनका मैं पालन करने की कोशिश करता हूं और बावर्ची विशिष्ट नहीं।
मैंने पपेट के साथ जाना समाप्त कर दिया क्योंकि मुझे उस समय अधिक संसाधन मिले और मुझे अपने लिए चुनना आसान लगा।
मैंने अपाचे, php5, आदि जैसी चीजों के लिए उपलब्ध विभिन्न पूर्व-निर्मित मॉड्यूलों को देखा, उनमें से कई मुझे जरूरत से ज्यादा रास्ता लग रहे थे और मंच से अपरिचित होने के कारण मुझे भरोसा नहीं था कि क्या चल रहा है। मैंने तय किया कि यह मेरे लिए सरल होगा कि मैं प्रत्येक नोड प्रकार पर किए गए काम की पहचान करूं।
मैंने टीम के स्थानीय विकास वातावरण (वर्ग्रेंट + वर्चुअल बॉक्स) को व्यवस्थित करके प्रक्रिया शुरू की। प्रत्येक सेवा / घटक के लिए मैंने एक मॉड्यूल बनाया: php5, apache2, redis, mysql, आदि।
एक बार जब देव वातावरण स्थिर था / काम कर रहा था तो मैंने QA वातावरण बनाना शुरू किया। मैंने वेब सर्वरों, रेडिस, वार्निश आदि के लिए सामान्य नोड प्रकारों को परिभाषित किया, जो कि देव के समान ही मॉड्यूल का पुन: उपयोग करते हैं। एक बार जब यह किया गया था, तो स्टेजिंग और प्रोडक्शन को उठने और चलने के लिए कम से कम परिवर्तनों की आवश्यकता थी।
जैसा कि आप अपने व्यंजनों / टेम्प्लेट के माध्यम से जा रहे हैं और आपको यह विचार करना चाहिए कि कैसे पुन: उपयोग / सामान्यीकृत किया जा सकता है। पथ या उपयोगकर्ता / समूह जैसे हार्ड कोड चीजों को न करें जो डिस्ट्रो / प्रोजेक्ट / वातावरण के बीच बदल सकते हैं। चूंकि आप एक सामान्यीकृत दृष्टिकोण को देख रहे हैं, इसलिए मुझे लगता है कि एक बड़ी बाधा * निक्स वितरण के बीच के अंतर के साथ काम करेगी।
सबसे महत्वपूर्ण बात, रखना सरल है। पर्यावरण के सबसे महत्वपूर्ण / समय लेने वाले भागों को स्वचालित / मानकीकृत करें। Iterate, विकसित करना।