GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD · पाठ

तेज़ build के लिए dependency caching

actions/cache action, key और restore-key से dependency तथा build artifact कैश करके CI pipeline को तेज़ करें।

पाठ 4, कुल 4 में से13 चरण

तेज़ build के लिए dependency caching, CoddyKit पर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

दोबारा इंस्टॉल करने की लागत

अधिकांश CI समय हर रन में उन्हीं निर्भरताओं को डाउनलोड और इंस्टॉल करने में लगता है। कैशिंग उन्हें रनों के बीच सहेजती है, ताकि बाद के बिल्ड पहले किया गया काम दोबारा उपयोग कर सकें और अक्सर पाइपलाइन का समय काफ़ी कम हो जाए।

कैश एक्शन

GitHub actions/cache उपलब्ध कराता है। आप उसे कैश करने के लिए एक पाथ और कैश प्रविष्टि की पहचान करने वाली कुंजी देते हैं। मिलान मिलने पर वह पाथ को पुनर्स्थापित करता है; अन्यथा जॉब के बाद उसे सहेजता है।

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('package-lock.json') }}

अच्छी कुंजी डिज़ाइन करना

कुंजी केवल तभी बदलनी चाहिए जब कैश की गई सामग्री बदलनी हो। लॉकफ़ाइल का हैश बनाना आदर्श है: नई लॉकफ़ाइल का अर्थ नई निर्भरताएँ है, इसलिए नई कैश प्रविष्टि बनाई जाती है।

key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}

पुनर्स्थापना कुंजियाँ

restore-keys वैकल्पिक वापसी के लिए उपसर्ग उपलब्ध कराता है। यदि सटीक कुंजी नहीं मिलती, तो एक्शन उस सबसे हाल की कैश को पुनर्स्थापित करता है जिसकी कुंजी किसी उपसर्ग से शुरू होती है, जिससे आंशिक रूप से तैयार शुरुआत मिलती है।

restore-keys: |
  ${{ runner.os }}-npm-

कैश हिट बनाम मिस

सटीक कुंजी मिलने पर आपको कैश हिट मिलता है और पाथ पुनर्स्थापित हो जाता है। कुंजी न मिलने पर जॉब सामान्य रूप से चलता है और अंत में प्राथमिक कुंजी का उपयोग करके कैश सहेजी जाती है, ताकि अगली बार तैयार रहे।

अंतर्निहित सेटअप कैशिंग

भाषा सेटअप एक्शन्स में कैशिंग पहले से मौजूद होती है। Node के लिए setup-node में cache: npm निर्भरता कैश को आपके लिए संभालता है, इसलिए अलग कैश चरण की आवश्यकता नहीं होती।

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: npm

क्या कैश करें

जहाँ संभव हो, इंस्टॉल किए गए node_modules के बजाय पैकेज प्रबंधक की डाउनलोड निर्देशिकाओं को कैश करें, क्योंकि डाउनलोड कैश पोर्टेबल होते हैं और इंस्टॉल चरण अब भी अखंडता की जाँच करता है।

  • Node: ~/.npm
  • पाइथन: पिप कैश
  • Java: ~/.m2 या Gradle कैश

कैश का दायरा और सीमाएँ

कैश किसी शाखा तक सीमित होते हैं, जिसमें डिफ़ॉल्ट शाखा पर वैकल्पिक वापसी होती है, और प्रत्येक रिपॉज़िटरी के लिए उनकी आकार सीमा होती है। अप्रयुक्त कैश समय के साथ हटा दी जाती हैं, इसलिए ऐसी कुंजियाँ डिज़ाइन करें जो व्यवस्थित रूप से बदलें।

पुरानी कैश से बचना

यदि आपकी कुंजी कभी नहीं बदलती, तो आपको पुरानी निर्भरताएँ मिल सकती हैं। कुंजी को हमेशा लॉकफ़ाइल के हैश से जोड़ें, ताकि अपडेट अपने-आप कैश को अमान्य कर दें।

कुंजियों में मैट्रिक्स और OS

OS या संस्करणों के बीच मैट्रिक्स बिल्ड में कुंजी के अंदर runner.os और संस्करण शामिल करें, ताकि प्रत्येक प्रकार को आपस में टकराने के बजाय अपनी सही कैश मिले।

key: ${{ runner.os }}-node20-${{ hashFiles('package-lock.json') }}

लाभ मापना

कैशिंग से पहले और बाद की जॉब अवधि की तुलना करें और लॉग में कैश-हिट संकेतक देखें। लगातार कम हिट दर इस बात का संकेत है कि कुंजी बहुत बार बदल रही है।

त्वरित जाँच

निर्भरता कैशिंग के बारे में अपनी समझ जाँचें।

पुनरावलोकन

आपने निर्भरता कैशिंग के साथ CI को तेज़ किया: लॉकफ़ाइल-हैश वाली कुंजी और restore-keys वैकल्पिक वापसी के साथ actions/cache एक्शन, सेटअप एक्शन्स में अंतर्निहित कैशिंग, कैश की जाने वाली चीज़ों का चयन, मैट्रिक्स कुंजियों में OS और संस्करण शामिल करना, और कुंजी को लॉकफ़ाइल से जोड़कर पुरानी कैश से बचना।

शुरुआत निःशुल्क

एआई शिक्षक के साथ GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “तेज़ build के लिए dependency caching” पाठ निःशुल्क है?

हाँ—“तेज़ build के लिए dependency caching” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“तेज़ build के लिए dependency caching” में मैं क्या सीखूँगा?

actions/cache action, key और restore-key से dependency तथा build artifact कैश करके CI pipeline को तेज़ करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“तेज़ build के लिए dependency caching” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. वर्कफ़्लो ट्रिगर और घटनाएँ
  2. GitHub Actions के साथ परीक्षण चलाना
  3. कोड गुणवत्ता और स्थैतिक विश्लेषण जाँच
  4. तेज़ build के लिए dependency caching
← GitHub Actions और DevOps पाइपलाइनों के साथ CI/CD पर वापस जाएँ