हॉटफ़िक्स (hotfix) प्रोडक्शन में किसी गंभीर बग का तत्काल सुधार है, जो सामान्य रिलीज़ चक्र के बाहर किया जाता है। नियोजित रिलीज़ के विपरीत, hotfix QA और परीक्षण के कुछ चरणों को छोड़ देता है ताकि उपयोगकर्ताओं तक सबसे कम समय में सुधार पहुँचाया जा सके। Atlassian Git वर्कफ़्लो गाइड के अनुसार, hotfix शाखा नवीनतम रिलीज़ टैग से बनाई जाती है, और लागू करने के बाद इसे वापस main और develop में मर्ज किया जाता है। Hotfix प्रक्रिया में जाँचों का एक न्यूनतम सेट शामिल होता है जो यह सुनिश्चित करने के लिए पर्याप्त है कि कोई प्रतिगमन नहीं है।
मुख्य बिंदु
हॉटफ़िक्स (त्वरित सुधार) एप्लिकेशन के प्रोडक्शन संस्करण के लिए एक पैच है जो किसी गंभीर समस्या को ठीक करने के लिए कतार से बाहर जारी किया जाता है। हॉटफ़िक्स उपयोगकर्ताओं तक घंटों में पहुँचाया जाता है, दिनों में नहीं, और यह केवल उन स्थितियों के लिए है जहाँ एप्लिकेशन अनुपलब्ध है, डेटा खो रहा है, या उपयोगकर्ता सुरक्षा से समझौता कर रहा है।
हॉटफ़िक्स के लिए विशिष्ट परिदृश्य: कुछ उपकरणों पर स्टार्टअप पर क्रैश (अंतिम रिलीज़ के बाद प्रतिगमन), गलत प्राधिकरण के कारण व्यक्तिगत डेटा लीक, टूटा हुआ भुगतान एकीकरण (राजस्व हानि), GDPR/CCPA अनुपालन उल्लंघन। इन सभी स्थितियों की घटना वर्गीकरण में गंभीरता P0 या P1 है। नियोजित कार्य — अनुकूलन, रीफ़ैक्टरिंग, नई स्क्रीन — कभी भी hotfix के माध्यम से नहीं किए जाते।
एक महत्वपूर्ण नियम: हॉटफ़िक्स में न्यूनतम संख्या में परिवर्तन होते हैं (1–2 फ़ाइलें, कोड की 10–20 पंक्तियाँ)। डिफ़ जितना छोटा होगा, नया बग पेश करने का जोखिम उतना ही कम होगा। यदि समस्या को ठीक करने के लिए आर्किटेक्चर बदलने या नया मॉड्यूल जोड़ने की आवश्यकता है — यह hotfix नहीं है, बल्कि एक आपातकालीन रिलीज़ है जिसके लिए पूर्ण कोड समीक्षा और QA की आवश्यकता है।
हॉटफ़िक्स और नियोजित रिलीज़ के बीच मुख्य अंतर गति, परिवर्तनों का दायरा और परीक्षण का स्तर हैं। एक नियोजित रिलीज़ में दर्जनों सुविधाएँ शामिल हो सकती हैं, पूर्ण QA चक्र (प्रतिगमन + एकीकरण + UI परीक्षण) से गुज़र सकती हैं, और कोड फ़्रीज़ से तैनाती तक 1–2 सप्ताह लग सकते हैं। हॉटफ़िक्स में एक या दो सुधार शामिल होते हैं, त्वरित समीक्षा (3 के बजाय 2 अनुमोदन) और न्यूनतम स्मोक टेस्ट से गुज़रता है।
Git प्रक्रिया के दृष्टिकोण से, हॉटफ़िक्स रिलीज़ टैग से बनाया जाता है, develop शाखा से नहीं। यह सुनिश्चित करता है कि हॉटफ़िक्स में केवल समस्या को ठीक करने के लिए आवश्यक परिवर्तन शामिल हों, बिना develop से अधूरी सुविधाओं को गलती से शामिल किए। तैनाती के बाद, हॉटफ़िक्स को वापस main और develop में मर्ज किया जाता है (cherry-pick या merge के माध्यम से)।
| मानदंड | नियोजित रिलीज़ | हॉटफ़िक्स |
|---|---|---|
| दायरा | कई सुविधाएँ और बग फ़िक्स | 1–2 गंभीर सुधार |
| शाखा | develop से रिलीज़ शाखा | रिलीज़ टैग से हॉटफ़िक्स शाखा |
| कोड समीक्षा | 3 अनुमोदन, पूर्ण प्रक्रिया | 2 अनुमोदन, फ़ास्ट-ट्रैक |
| QA | पूर्ण प्रतिगमन सूट | स्मोक टेस्ट + प्रभावित क्षेत्र |
| तैनाती का समय | 1–4 सप्ताह | 1–24 घंटे |
| वापसी | रिवर्ट कमिट के माध्यम से | पिछले टैग के पुनर्निर्माण के माध्यम से |
महत्वपूर्ण: हर जरूरी कार्य hotfix नहीं है। यदि कोई प्रबंधक कहता है “हमें तत्काल एक बटन जोड़ने की आवश्यकता है” — यह hotfix नहीं है, यह प्राथमिकता में बदलाव है। एक वास्तविक hotfix उपयोगकर्ता के लिए गंभीरता से निर्धारित होता है, व्यवसाय की तात्कालिकता से नहीं। मानदंड: यदि एप्लिकेशन क्रैश नहीं हो रहा है और डेटा लीक नहीं हो रहा है — कार्य नियोजित रिलीज़ की प्रतीक्षा करता है।
किसी गंभीर समस्या का पता चलने पर पहला कदम ट्राइएज है — गंभीरता का त्वरित मूल्यांकन। ऑन-कॉल इंजीनियर बग की पुष्टि करता है, लॉग और क्रैश रिपोर्ट की जाँच करता है, और यह निर्धारित करता है कि समस्या अंतिम रिलीज़ से प्रतिगमन है या पुराना बग। यदि गंभीरता P0 है — hotfix पाइपलाइन शुरू की जाती है। ट्राइएज चरण में 15 मिनट से अधिक नहीं लगना चाहिए।
दूसरा कदम — नवीनतम रिलीज़ टैग (v2.5.0 → hotfix/v2.5.1) से एक शाखा बनाना। डेवलपर न्यूनतम सुधार करता है, संदेश में HOTFIX उपसर्ग के साथ कमिट करता है, पुश करता है और [HOTFIX] लेबल के साथ PR खोलता है। फ़ास्ट-ट्रैक कोड समीक्षा: CODEOWNERS के माध्यम से दो समीक्षक स्वचालित रूप से नियुक्त किए जाते हैं, समीक्षा का समय 30 मिनट से अधिक नहीं। यदि 20 मिनट में कोई समीक्षा नहीं होती है — समीक्षक को छोड़ दिया जाता है और अगला नियुक्त किया जाता है।
तीसरा कदम — CI/CD के माध्यम से बिल्ड और तैनाती। हॉटफ़िक्स पाइपलाइन सामान्य से भिन्न होती है: लंबे एकीकरण परीक्षण (जिनमें घंटे लगते हैं) छोड़ दिए जाते हैं, केवल स्मोक सूट चलता है (10–15 गंभीर परिदृश्य, 5–10 मिनट)। तैनाती के बाद: क्रैश दर, त्रुटि दर, API विलंबता की निगरानी — 30 मिनट तक। हॉटफ़िक्स के लिए DORA मीट्रिक्स: रिकवरी का औसत समय (MTTR) 1 घंटे से कम होना चाहिए।
# .github/workflows/hotfix-deploy.yml
name: Hotfix Deploy Pipeline
on:
pull_request:
types: [labeled]
branches: [hotfix/*]
jobs:
hotfix-checks:
runs-on: ubuntu-latest
if: contains(github.event.label.name, 'hotfix-critical')
steps:
- uses: actions/checkout@v4
- name: Validate diff size
run: bash .github/scripts/diff-check.sh 30
- name: Build
run: ./gradlew assembleRelease
- name: Smoke test
run: ./gradlew smokeTest
- name: Deploy to staging
run: fastlane deploy_staging
- name: Approve & deploy to production
if: success()
run: fastlane deploy_production
env:
HOTFIX_MODE: true
इस पाइपलाइन में मुख्य अनुकूलन: डिफ़ जाँच (30 पंक्तियों से अधिक नहीं), एकीकरण परीक्षण छोड़ना, स्मोक टेस्ट सफल होने पर स्टेजिंग और प्रोडक्शन पर स्वचालित तैनाती। HOTFIX_MODE पर्यावरण चर रनटाइम में अतिरिक्त जाँच सक्षम करता है — उदाहरण के लिए, त्वरित समस्या निदान के लिए विस्तारित लॉगिंग।
हॉटफ़िक्स शाखाओं के साथ काम करने की रणनीति Gitflow Workflow में वर्णित है। मुख्य नियम: हॉटफ़िक्स शाखा नवीनतम रिलीज़ टैग (git checkout -b hotfix/v2.5.1 tags/v2.5.0) से बनाई जाती है, develop या main से नहीं। यह सुनिश्चित करता है कि हॉटफ़िक्स उसी कोड स्थिति पर आधारित है जो वर्तमान में प्रोडक्शन में है और develop से अधूरे परिवर्तनों को नहीं खींचता।
सुधार पूरा होने के बाद, हॉटफ़िक्स शाखा को main (या master) और develop में मर्ज किया जाता है। main में — नए पैच रिलीज़ टैग (v2.5.1) के साथ एक सामान्य मर्ज कमिट। develop में — टीम की नीति के अनुसार मर्ज या cherry-pick। यदि develop में main से अधिक परिवर्तन हैं, तो विरोध से बचने के लिए विशिष्ट हॉटफ़िक्स कमिट का cherry-pick करने की अनुशंसा की जाती है। GitFlow पहले हॉटफ़िक्स को main में मर्ज करने और फिर main को develop में मर्ज करने की सलाह देता है।
# नवीनतम रिलीज़ टैग से हॉटफ़िक्स शाखा बनाएँ
git checkout -b hotfix/v2.5.1 tags/v2.5.0
# सुधार लागू करें
git commit -m "HOTFIX: Fix crash on Android 14 notification permission"
# main में मर्ज करें और रिलीज़ को टैग करें
git checkout main
git merge --no-ff hotfix/v2.5.1
git tag -a v2.5.1 -m "Hotfix release v2.5.1"
# develop में भी मर्ज करें
git checkout develop
git merge --no-ff hotfix/v2.5.1
# अस्थायी शाखा साफ़ करें
git branch -d hotfix/v2.5.1
महत्वपूर्ण: यदि हॉटफ़िक्स वर्तमान develop शाखा में मौजूद बग को ठीक करता है (बग कई स्प्रिंट पहले पेश किया गया था), तो हॉटफ़िक्स को main और develop में मर्ज करने के बाद, develop में पहले से ही सुधार होता है। यदि बग केवल रिलीज़ शाखा में पेश किया गया था (cherry-pick के माध्यम से त्रुटि जमा हुई), तो develop में सुधार की आवश्यकता नहीं हो सकती है। मूल कारण विश्लेषण यह निर्धारित करने में मदद करता है कि develop में cherry-pick आवश्यक है या नहीं।
हॉटफ़िक्स का मुख्य जोखिम जल्दबाजी के कारण एक नया, अधिक गंभीर बग पेश करना है। Stripe (2021) के एक अध्ययन के अनुसार, 15% हॉटफ़िक्स प्रतिगमन का कारण बनते हैं और दूसरे हॉटफ़िक्स की आवश्यकता होती है। यह विडंबना का नियम है: हम जितनी तेज़ी से ठीक करते हैं, गलती करने की संभावना उतनी ही अधिक होती है। जोखिम न्यूनीकरण डिफ़ आकार की सख्त सीमा (30 पंक्तियों से अधिक नहीं) और अनिवार्य स्वचालित स्मोक टेस्ट द्वारा प्राप्त किया जाता है।
दूसरा जोखिम — तकनीकी ऋण का संचय। यदि कोई टीम नियमित रूप से नियोजित रिलीज़ के बजाय हॉटफ़िक्स का उपयोग करती है, तो कोडबेस ख़राब हो जाता है: हॉटफ़िक्स कमिट रीफ़ैक्टरिंग से नहीं गुज़रते, अस्थायी समाधान उचित समाधानों से प्रतिस्थापित नहीं होते, दस्तावेज़ अपडेट नहीं होता। स्वास्थ्य जाँच: यदि हॉटफ़िक्स महीने में एक बार से अधिक जारी किए जाते हैं — रिलीज़ प्रक्रिया की समीक्षा की आवश्यकता है।
तीसरा जोखिम — मनोवैज्ञानिक। नियमित हॉटफ़िक्स टीम को थका देते हैं: ऑन-कॉल डेवलपर लगातार तनाव में रहते हैं, कोड समीक्षा एक औपचारिकता बन जाती है (हर कोई तेज़ी से काम करना चाहता है), और गुणवत्ता संस्कृति गिर जाती है। एक परिपक्व टीम के लिए सामान्य हॉटफ़िक्स आवृत्ति 1–2 प्रति तिमाही है। यदि अधिक है — समस्या हॉटफ़िक्स में नहीं है, बल्कि नियोजित रिलीज़ की गुणवत्ता में है।
हॉटफ़िक्स तैनात करने और मीट्रिक्स को स्थिर करने के बाद, एक दोषरहित पोस्ट-मॉर्टम रेट्रोस्पेक्टिव आयोजित किया जाता है। टीम चार प्रश्नों का उत्तर देती है: क्या हुआ, जाँचों ने बग को क्यों नहीं पकड़ा, इसे ठीक करने के लिए क्या किया गया, और पुनरावृत्ति को कैसे रोका जाए। पोस्ट-मॉर्टम हॉटफ़िक्स के 24–48 घंटों के भीतर आयोजित किया जाता है, जबकि विवरण अभी भी ताज़ा हैं। दोषरहित संस्कृति एक प्रमुख सिद्धांत है: प्रक्रियाओं पर चर्चा की जाती है, लोगों पर नहीं।
पोस्ट-मॉर्टम का परिणाम जिम्मेदार व्यक्तियों और समय सीमा के साथ ठोस कार्य आइटम होते हैं। विशिष्ट कार्य आइटम: छूटे हुए मामले के लिए यूनिट टेस्ट जोड़ना, स्मोक टेस्ट सूट का विस्तार करना, निगरानी में सुधार करना (मीट्रिक पर अलर्ट जोड़ना), समान घटनाओं के लिए रनबुक अपडेट करना। कार्य आइटम अगली नियोजित रिलीज़ से पहले पूरे किए जाने चाहिए।
अक्सर पूछे जाने वाले प्रश्न
बिल्कुल नहीं। पैच रिलीज़ नियमित अनुसूची पर छोटे सुधारों की एक नियोजित डिलीवरी है। हॉटफ़िक्स अनुसूची के बाहर एक आपातकालीन सुधार है। पैच रिलीज़ पूर्ण QA चक्र से गुज़रती है, हॉटफ़िक्स एक संक्षिप्त चक्र से। लेकिन तकनीकी रूप से दोनों पैच संस्करण बंप (v2.5.0 → v2.5.1) का उपयोग कर सकते हैं।
नहीं, हॉटफ़िक्स हमेशा ट्रेसेबिलिटी के लिए Git में दर्ज किया जाता है। अपवाद कॉन्फ़िगरेशन स्तर (फ़ीचर फ़्लैग, रिमोट कॉन्फ़िग) पर आपातकालीन सुधार है जिसमें कोड परिवर्तन की आवश्यकता नहीं होती है। प्रत्येक हॉटफ़िक्स एक स्पष्ट संदेश के साथ एक कमिट से जुड़ा होना चाहिए और घटना टिकट में संदर्भित होना चाहिए।
iOS के लिए, App Review के माध्यम से हॉटफ़िक्स में 1–24 घंटे लगते हैं (त्वरित समीक्षा संभव है)। Android के लिए — Google Play Console के माध्यम से 1–4 घंटे। तैनाती का समय स्टोर नीति और आपातकालीन समीक्षा प्रक्रिया की उपलब्धता पर निर्भर करता है।
निर्णय ऑन-कॉल इंजीनियर गंभीरता मानदंडों के आधार पर लेता है। यदि गंभीरता P0 है — हॉटफ़िक्स बिना अतिरिक्त अनुमोदन के शुरू किया जाता है। P1 — तकनीकी लीड से अनुमोदन की आवश्यकता है। टीम सशक्तिकरण: ऑन-कॉल इंजीनियर के पास नौकरशाही के बिना हॉटफ़िक्स शुरू करने का अधिकार है।
एक परिपक्व टीम के लिए — 1–2 हॉटफ़िक्स प्रति तिमाही। महीने में एक बार से अधिक आवृत्ति QA प्रक्रिया में समस्याओं, अपर्याप्त परीक्षण कवरेज या गलत रिलीज़ रणनीति का संकेत देती है। सामान्य हॉटफ़िक्स आवृत्ति विकास प्रक्रिया गुणवत्ता का KPI है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें