हर commit एक ही पाइपलाइन चलाता है जो एक immutable artifact बनाती है, उसे टेस्ट करती है, और वही artifact एक के बाद एक एनवायरनमेंट में प्रमोट होता है; हर एनवायरनमेंट के लिए दोबारा build नहीं होता। तेज़ फीडबैक वाले stages पहले रखें, यानी lint, unit tests और build, ताकि गड़बड़ी मिनटों में सामने आ जाए, integration और security scans समानांतर चलाएं, फिर staging पर अपने आप डिप्लॉय करें और प्रोडक्शन पर progressive rollout के पीछे, जिसमें ऑटोमैटिक rollback लगा हो।
इंटरव्यूअर यह क्यों पूछते हैं
इंटरव्यूअर देखना चाहता है कि आप इसे एक डिलीवरी सिस्टम की तरह सोचते हैं या स्क्रिप्ट्स के ढेर की तरह। वे build once and promote सुनना चाहते हैं, ऐसा stage ordering जो डेवलपर के फीडबैक टाइम का ख्याल रखे, और यह कि हर कदम पर मैनुअल गेट लगाए बिना आप भरोसा कैसे बनाते हैं। इससे rollback की रणनीति, artifact provenance और पाइपलाइन को खुद भरोसेमंद रखने की बात भी खुल जाती है।
अपना जवाब कैसे स्ट्रक्चर करें
- artifact से शुरू करें: एक बार बना, immutable, दोबारा build नहीं, सिर्फ प्रमोट।
- stages को फीडबैक की रफ्तार से क्रम में लगाएं और धीमी जांचें समानांतर चलाएं।
- बताएं कि एक बदलाव प्रोडक्शन तक कैसे पहुंचता है और उसे कौन रोकता है।
- rollback, पाइपलाइन की ऑब्जर्वेबिलिटी और pipeline as code कवर करें।
उदाहरण जवाब
मूल सिद्धांत यही है कि एक बार build करो और वही artifact प्रमोट करो। commit होते ही पाइपलाइन commit sha से टैग की गई container image बनाती है, और आखिर में प्रोडक्शन में वही digest चलता है, तो रास्ते के बीच अलग dependencies के साथ कुछ दोबारा build नहीं होता। stage का क्रम फीडबैक टाइम से तय होता है: पहले lint और unit tests, ताकि खराब बदलाव लगभग दो मिनट में फेल हो जाए, फिर image build, फिर integration tests, contract tests और security scanning समानांतर, क्योंकि इनमें से कोई किसी पर निर्भर नहीं है। main में merge होते ही staging पर अपने आप डिप्लॉय होता है और smoke tests चलते हैं। प्रोडक्शन वही पाइपलाइन है, बस progressive rollout के साथ, यानी पहले दस प्रतिशत ट्रैफिक, और उतनी देर हम error rate और latency को baseline से तोलते हैं, और सीमा टूटी तो ऑटोमैटिक rollback। पाइपलाइन की परिभाषा मैं कोड वाली रिपॉज़िटरी में ही रखता हूं ताकि उसका रिव्यू बाकी चीज़ों जैसा हो, और खुद पाइपलाइन पर दो नंबर ट्रैक करता हूं: एक बदलाव को प्रोडक्शन तक पहुंचने में कितना समय लगता है, और main के कितने प्रतिशत builds हरे रहते हैं।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- इस फ्लो में डेटाबेस migrations आप कैसे संभालते हैं?
- मैनुअल अप्रूवल के पीछे आप क्या रखेंगे, अगर कुछ रखेंगे तो?
- पाइपलाइन खुद ही अड़चन न बन जाए, यह आप कैसे रोकते हैं?
DevOps इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें