क्या Github Actions डिप्लॉय समय को कम किया जा सकता है?

यह लेख Github Actions का उपयोग करने वाले डिप्लॉय समय को कम करने के लिए आज़माए गए विभिन्न तरीकों और उस प्रक्रिया में सामने आई समस्याओं को हल करने के अनुभव के बारे में है।

  • डिप्लॉय समय धीरे-धीरे बढ़ने लगा, जिससे डेवलपमेंट स्पीड और टीम प्रोडक्टिविटी पर नकारात्मक असर पड़ने लगा
  • इस समस्या को हल करने के लिए डिप्लॉय प्रोसेस को parallel processing में बदलने और selective build trigger लागू करने सहित कई सुधार कैसे किए गए, यह लेख उसी की व्याख्या करता है

समस्या की स्थिति

  • Github Actions का उपयोग करने वाला डिप्लॉय समय धीरे-धीरे बढ़ता गया और औसत डिप्लॉय समय 27 मिनट तक पहुँच गया
  • इसका असर डेवलपमेंट प्रोडक्टिविटी पर पड़ना शुरू हो गया
  • Frontend, Intro, Backend को क्रम से build और deploy करने का तरीका समय के साथ अक्षम होता गया, और इसी वजह से डिप्लॉय समय बढ़ता गया

मुख्य सुधार

  • parallel processing लागू करना
    • क्रमिक रूप से deploy होने वाले Frontend और Backend deploy jobs को parallel में अलग किया गया, जिससे डिप्लॉय समय 27 मिनट से घटकर 18 मिनट हो गया।
    • इस प्रक्रिया में Github Workflow code का modularization भी किया गया
  • selective build trigger लागू करना
    • केवल बदले हुए हिस्सों को build करने के लिए path-filter का उपयोग किया गया, लेकिन rollback के समय समस्या पैदा होने वाली स्थिति मिली
    • path-filter तरीका इस्तेमाल करने के बजाय, डेवलपर deploy target चुन सकें इसके लिए इसे Workflow option के रूप में उपलब्ध कराया गया
  • Docker Image Tag उपयोग रणनीति
    • Docker Image reuse के जरिए डिप्लॉय समय 18 मिनट से घटाकर 15 मिनट किया गया।
  • Deploy का parallel processing
    • Deploy चरण में भी parallel processing संभव हो सके, इसके लिए उसे अलग किया गया और डिप्लॉय समय को और कम किया गया
  • Intro को अलग करना
    • frontend में Intro page build को service build से अलग करके deploy efficiency को अधिकतम किया गया।

परिणाम

  • डिप्लॉय समय में 55% की कमी (27 मिनट -> 12 मिनट)
  • अधिकतम 70% तक समय की बचत संभव, infrastructure cost में कमी, और product development productivity में सुधार।
  • अतिरिक्त लाभ
    • Workflow modularization के जरिए reusability और maintenance ease में सुधार
    • समस्या समाधान समय में कमी, system stability में वृद्धि

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.