GitHub क्रियाएँ विकास कार्यों को कैसे स्वचालित करती हैं?

पूरा किया

यहां, हम GitHub क्रियाएं और वर्कफ़्लो पेश करते हैं। आप सीखते हैं कि आप किस प्रकार की कार्रवाइयों का उपयोग कर सकते हैं और उन्हें कहां ढूंढना है। आप इस प्रकार की क्रियाओं के उदाहरण भी देखते हैं और वे वर्कफ़्लो में कैसे फ़िट होते हैं.

GitHub विचार से परिनियोजन तक का समय घटाता है

GitHub को डेवलपर्स और DevOps इंजीनियरों की टीमों को एप्लिकेशन को शीघ्रता से बनाने और तैनात करने में मदद करने के लिए डिज़ाइन किया गया है। GitHub में कई विशेषताएं हैं जो इन क्षमताओं को सक्षम करती हैं, लेकिन वे आम तौर पर दो श्रेणियों में से एक में आती हैं:

  • संचार: उन सभी तरीकों पर विचार करें जो GitHub डेवलपर्स की एक टीम के लिए सॉफ़्टवेयर डेवलपमेंट प्रोजेक्ट के बारे में संवाद करना आसान बनाता है: पुल अनुरोधों में कोड समीक्षा, GitHub मुद्दे, प्रोजेक्ट बोर्ड, विकी, सूचनाएं, और इसी तरह।
  • स्वचालन: GitHub क्रियाएँ आपकी टीम को सॉफ़्टवेयर-विकास प्रक्रिया में एकीकरण से लेकर वितरण तक परिनियोजन तक हर चरण में कार्यप्रवाह को स्वचालित करने देती हैं। यह आपको अनुरोधों को खींचने और बासी मुद्दों और पुल अनुरोधों की जांच करने के लिए लेबल जोड़ने को स्वचालित करने देता है।

संयुक्त होने पर, इन विशेषताओं ने हजारों विकास टीमों को उनके प्रारंभिक विचार से तैनाती में लगने वाले समय को प्रभावी ढंग से कम करने की अनुमति दी है।

विकास समय को कम करने के लिए वर्कफ़्लो स्वचालन का उपयोग करें

इस मॉड्यूल में, हम स्वचालन पर ध्यान केंद्रित करते हैं। आइए यह समझने के लिए कुछ समय दें कि एक विशिष्ट विकास और परिनियोजन वर्कफ़्लो को पूरा करने में लगने वाले समय को कम करने के लिए टीमें स्वचालन का उपयोग कैसे कर सकती हैं।

उन सभी कार्यों पर विचार करें जो कोड लिखे जाने के बाद होने चाहिए, लेकिन इससे पहले कि आप अपने इच्छित उद्देश्य के लिए कोड का मज़बूती से उपयोग कर सकें। आपके संगठन के लक्ष्यों के आधार पर, आपको निम्न में से एक या अधिक कार्य करने की आवश्यकता होती है:

  • सुनिश्चित करें कि कोड सभी यूनिट परीक्षणों को पास करता है।
  • यह सुनिश्चित करने के लिए कोड गुणवत्ता और अनुपालन जांच करें कि स्रोत कोड संगठन के मानकों को पूरा करता है।
  • ज्ञात सुरक्षा समस्याओं के लिए कोड और इसकी निर्भरताओं की जाँच करें।
  • (संभावित) एकाधिक योगदानकर्ताओं से नए स्रोत कोड को एकीकृत करके कोड बनाएं।
  • सुनिश्चित करें कि सॉफ्टवेयर एकीकरण परीक्षण पास करता है।
  • नए बिल्ड का संस्करण निर्दिष्ट करें।
  • नए बायनेरिज़ को उपयुक्त फ़ाइल सिस्टम स्थान पर डिलीवर करें।
  • एक या अधिक सर्वर के लिए नए बायनेरिज़ लागू करें।
  • निर्धारित करें कि क्या इनमें से कोई भी कार्य पास नहीं होता है, और समाधान के लिए उचित व्यक्ति या टीम को समस्या की रिपोर्ट करें।

चुनौती इन कार्यों को मज़बूती से, लगातार और स्थायी तरीके से करना है। यह प्रक्रिया वर्कफ़्लो ऑटोमेशन के लिए एक आदर्श कार्य है। यदि आप पहले से ही GitHub पर निर्भर हैं, तो आप संभवतः GitHub क्रियाओं का उपयोग करके अपना वर्कफ़्लो स्वचालन सेट करना चाहते हैं।

GitHub क्रियाएँ क्या हैं?

GitHub क्रियाएँ GitHub में सॉफ़्टवेयर-डेवलपमेंट वर्कफ़्लो में कार्यों को स्वचालित करने के लिए पैक की गई स्क्रिप्ट हैं। आप अपने संगठन की आवश्यकताओं को पूरा करने वाले जटिल कार्यप्रवाहों को ट्रिगर करने के लिए GitHub क्रियाओं को कॉन्फ़िगर कर सकते हैं। ट्रिगर हर बार हो सकता है जब डेवलपर्स किसी विशिष्ट शाखा में, समयबद्ध अंतराल पर या मैन्युअल रूप से नए स्रोत कोड की जांच करते हैं। परिणाम एक विश्वसनीय और टिकाऊ स्वचालित वर्कफ़्लो है, जिससे विकास के समय में उल्लेखनीय कमी आती है।

आप GitHub क्रियाएँ कहाँ पा सकते हैं?

GitHub Actions स्क्रिप्ट हैं जो yml डेटा प्रारूप का पालन करती हैं। प्रत्येक रिपॉजिटरी में एक एक्शन टैब होता है जो आपकी पहली स्क्रिप्ट सेट करने के साथ आरंभ करने का एक त्वरित और आसान तरीका प्रदान करता है। यदि आप एक वर्कफ़्लो देखते हैं जो आपको लगता है कि एक महान प्रारंभिक बिंदु हो सकता है, तो स्क्रिप्ट जोड़ने और स्रोत yml का संपादन शुरू करने के लिए कॉन्फ़िगर करें बटन का चयन करें।

GitHub क्रियाओं में *क्रियाएँ टैब* का स्क्रीनशॉट एक साधारण वर्कफ़्लो और इस वर्कफ़्लो को सेट करने के लिए एक बटन प्रदर्शित करता है।

हालाँकि, क्रियाएँ टैब पर प्रदर्शित उन GitHub क्रियाओं से परे, आप यह कर सकते हैं:

  • GitHub मार्केटप्लेसमें GitHub क्रियाओं की खोज करें। GitHub मार्केटप्लेस आपको अपने वर्कफ़्लो का विस्तार करने वाले टूल खोजने और खरीदने की अनुमति देता है।
  • ओपन-सोर्स प्रोजेक्ट्स खोजें। उदाहरण के लिए, GitHub Actions संगठन में कई लोकप्रिय ओपन-सोर्स रेपो हैं जिनमें GitHub क्रियाएँ हैं जिनका आप उपयोग कर सकते हैं।
  • खरोंच से अपनी खुद की GitHub क्रियाएं लिखें। आप उन्हें ओपन सोर्स बना सकते हैं, या उन्हें GitHub मार्केटप्लेस पर भी प्रकाशित कर सकते हैं।

ओपन-सोर्स GitHub क्रियाओं का उपयोग करना

कई GitHub क्रियाएं खुले स्रोत हैं और उन सभी के लिए उपलब्ध हैं जो उनका उपयोग करना चाहते हैं। हालाँकि, किसी भी ओपन-सोर्स सॉफ़्टवेयर की तरह, आपको अपने प्रोजेक्ट में उनका उपयोग करने से पहले उन्हें सावधानीपूर्वक जांचना होगा। ओपन-सोर्स सॉफ़्टवेयर के साथ अनुशंसित समुदाय मानकों के समान जैसे कि README, आचार संहिता, फ़ाइल का योगदान करना और टेम्प्लेट जारी करना, आप GitHub क्रियाओं का उपयोग करते समय इन अनुशंसाओं का पालन कर सकते हैं:

  • इनपुट, आउटपुट के लिए कार्रवाई की action.yml फ़ाइल की समीक्षा करें, और यह सुनिश्चित करने के लिए कि कोड वही करता है जो वह कहता है कि वह करता है।
  • जांचें कि क्या कार्रवाई GitHub मार्केटप्लेस में है। यह जांच सार्थक है, भले ही किसी कार्रवाई को मान्य होने के लिए GitHub मार्केटप्लेस पर होना जरूरी न हो।
  • जांचें कि क्या कार्रवाई GitHub मार्केटप्लेस में सत्यापित है। सत्यापन का अर्थ है कि GitHub ने इस क्रिया के उपयोग को मंजूरी दी। हालाँकि, आपको इसका उपयोग करने से पहले अभी भी इसकी समीक्षा करनी चाहिए।
  • Git ref, SHA, या टैग निर्दिष्ट करके आपके द्वारा उपयोग की जा रही कार्रवाई का संस्करण शामिल करें।

GitHub क्रियाओं के प्रकार

GitHub क्रियाएं तीन प्रकार की होती हैं: कंटेनर क्रियाएं, JavaScript कार्रवाइयां और समग्र कार्रवाई.

कंटेनर कार्रवाइयोंके साथ, परिवेश कार्रवाई के कोड का हिस्सा है. ये क्रियाएं केवल एक लिनक्स वातावरण में चलाई जा सकती हैं जो GitHub होस्ट करता है। कंटेनर कार्रवाइयां कई अलग-अलग भाषाओं का समर्थन करती हैं.

JavaScript कार्रवाइयां कोड में परिवेश शामिल नहीं करती हैं. आपको इन क्रियाओं को निष्पादित करने के लिए परिवेश निर्दिष्ट करना होगा। आप इन क्रियाओं को क्लाउड या ऑन-प्रिमाइसेस में VM (वर्चुअल मशीन) में चला सकते हैं। JavaScript क्रियाएँ Linux, macOS और Windows परिवेश का समर्थन करती हैं।

समग्र क्रियाएँ आपको एक क्रिया में एकाधिक वर्कफ़्लो चरणों को संयोजित करने की अनुमति हैं. उदाहरण के लिए, आप इस सुविधा का उपयोग एकाधिक चलाएँ आदेशों को एक क्रिया में एक साथ बंडल करने के लिए कर सकते हैं, और फिर एक वर्कफ़्लो प्राप्त कर सकते हैं जो बंडल किए गए आदेशों को उस क्रिया का उपयोग करके एकल चरण के रूप में निष्पादित करता है.

GitHub क्रिया की शारीरिक रचना

यहां एक क्रिया का एक उदाहरण दिया गया है जो एक रिपॉजिटरी का गिट चेकआउट करता है। यह क्रियाएँ/checkout@v1 यह क्रिया वर्कफ़्लो के चरण का भाग होती है. यह चरण चेक आउट किया गया था जो Node.js कोड भी बनाता है। हम अगले भाग में वर्कफ़्लोज़, नौकरियों और चरणों के बारे में बात करेंगे।

steps:
  - uses: actions/checkout@v1
  - name: npm install and build webpack
    run: |
      npm install
      npm run build

मान लीजिए कि आप कंटेनरीकृत कोड चलाने के लिए कंटेनर क्रिया का उपयोग करना चाहते हैं। आपकी कार्रवाई इस तरह दिख सकती है:

name: "Hello Actions"
description: "Greet someone"
author: "octocat@github.com"

inputs:
    MY_NAME:
      description: "Who to greet"
      required: true
      default: "World"

runs:
    uses: "docker"
    image: "Dockerfile"

branding:
    icon: "mic"
    color: "purple"

inputs अनुभाग पर ध्यान दें। यहां, आपको MY_NAMEनामक एक चर का मूल्य मिल रहा है। यह चर उस वर्कफ़्लो में सेट किया गया है जो इस क्रिया को चलाता है.

runs अनुभाग में, ध्यान दें कि आप विशेषता में uses निर्दिष्ट करते हैं। जब आप यह मान सेट करते हैं, तो आपको डॉकर छवि फ़ाइल को पथ प्रदान करने की आवश्यकता होती है। इस मामले में, डॉकरफाइल। हम यहां डॉकर की बारीकियों को कवर नहीं कर रहे हैं, लेकिन यदि आप अधिक जानकारी चाहते हैं, तो देखें डॉकर कंटेनर मॉड्यूल का परिचय .

अंतिम खंड, ब्रांडिंग, GitHub मार्केटप्लेस में आपकी कार्रवाई को वैयक्तिकृत करता है यदि आप इसे वहां प्रकाशित करने का निर्णय लेते हैं।

आप GitHub Actions के लिएमेटाडेटा सिंटैक्स पर कार्रवाई मेटाडेटा की पूरी सूची पा सकते हैं.

GitHub क्रियाएँ वर्कफ़्लो क्या है?

GitHub Actions वर्कफ़्लो एक ऐसी प्रक्रिया है जिसे आप GitHub क्रियाओं सहित सॉफ़्टवेयर-विकास जीवनचक्र कार्यों को स्वचालित करने के लिए अपने भंडार में सेट करते हैं। वर्कफ़्लो के साथ, आप GitHub पर किसी भी प्रोजेक्ट का निर्माण, परीक्षण, पैकेज, रिलीज़ और परिनियोजन कर सकते हैं।

वर्कफ़्लो बनाने के लिए, आप अपने GitHub रिपॉजिटरी में .github/workflows निर्देशिका में एक .yml फ़ाइल में क्रियाएं जोड़ते हैं।

आने वाले अभ्यास में, आपकी वर्कफ़्लो फ़ाइल main.yml इस उदाहरण की तरह दिखती है:

name: A workflow for my Hello World file
on: push
jobs:
  build:
    name: Hello world action
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: ./action-a
      with:
        MY_NAME: "Mona"

विशेषता पर on: ध्यान दें, इसका मान यह निर्दिष्ट करने के लिए एक ट्रिगर है कि यह वर्कफ़्लो कब चलता है। यहां, यह एक रन को ट्रिगर करता है जब आपके रिपॉजिटरी में पुश इवेंट होता है। आप on: pushजैसे एकल ईवेंट , on: [push, pull_request]जैसी ईवेंट्स की सरणी या कोई इवेंट-कॉन्फ़िगरेशन मानचित्र निर्दिष्ट कर सकते हैं जो वर्कफ़्लो शेड्यूल करता है या वर्कफ़्लो के निष्पादन को विशिष्ट फ़ाइलों, टैग्स या शाखा परिवर्तनों तक सीमित करता है. नक्शा कुछ इस तरह दिख सकता है:

on:
  # Trigger the workflow on push or pull request,
  # but only for the main branch
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  # Also trigger on page_build, as well as release created events
  page_build:
  release:
    types: # This configuration doesn't affect the page_build event above
      - created

इवेंट के लिए सभी गतिविधि प्रकारों पर इवेंट ट्रिगर होता है, जब तक कि आप प्रकार या प्रकार निर्दिष्ट नहीं करते. ईवेंट और उनके गतिविधि प्रकारों की व्यापक सूची के लिए, देखें: ईवेंट जो कार्यप्रवाह को ट्रिगर करते हैं GitHub दस्तावेज़ीकरण में।

किसी वर्कफ़्लो में कम से कम एक कार्यहोना आवश्यक है. कोई कार्य कार्यप्रवाह का एक भाग होता है जो धावकसे संबद्ध होता है. एक धावक GitHub-होस्टेड या स्व-होस्ट किया जा सकता है, और नौकरी मशीन या कंटेनर में चल सकती है। आप विशेषता के साथ धावक निर्दिष्ट करें runs-on: । यहां, आप वर्कफ़्लो को इस कार्य को ubuntu-latestपर चलाने के लिए कह रहे हैं।

प्रत्येक कार्य को पूरा करने के लिए चरण हैं। हमारे उदाहरण में, चरण रिपॉजिटरी को चेक आउट करने के लिए एक्शन एक्शन/checkout@v1 का उपयोग करता है। दिलचस्प बात यह है कि uses: ./action-a मान है, जो कंटेनर क्रिया का पथ है जिसे आप action.yml फ़ाइल में बनाते हैं।

इस वर्कफ़्लो फ़ाइल का अंतिम भाग इस वर्कफ़्लो के लिए MY_NAME चर मान सेट करता है. कंटेनर कार्रवाई को याद करें जिसे MY_NAMEकहा जाता है।

वर्कफ़्लो सिंटैक्स के बारे में अधिक जानकारी के लिए, GitHub क्रियाओं के लिए वर्कफ़्लो सिंटैक्स देखें

कार्यप्रवाहों में संदर्भित क्रियाएँ

GitHub क्रियाओं में वर्कफ़्लो बनाते समय, आप विभिन्न स्रोतों से क्रियाओं का संदर्भ दे सकते हैं। इन क्रियाओं का उपयोग आपके वर्कफ़्लोज़ में कार्यों को स्वचालित करने के लिए किया जा सकता है. नीचे वे प्राथमिक स्रोत दिए गए हैं, जहाँ कार्यप्रवाह क्रियाओं का संदर्भ दे सकते हैं:

  1. पर एक प्रकाशित Docker कंटेनर छवि Docker हब
    वर्कफ़्लोज़ उन कार्रवाइयों का संदर्भ दे सकते हैं जो Docker हब पर Docker कंटेनर छवियों के रूप में प्रकाशित होती हैं। ये क्रियाएं कंटेनरीकृत हैं और कार्रवाई को निष्पादित करने के लिए आवश्यक सभी निर्भरताएं शामिल हैं। ऐसी क्रिया का उपयोग करने के लिए, आप अपने वर्कफ़्लो चरण की विशेषता में डॉकर छवि निर्दिष्ट करते uses हैं। उदाहरण के लिए:

    steps:
      - name: Run a Docker action
        uses: docker://<docker-image-name>:<tag>
    
  2. कोई भी सार्वजनिक भंडार
    सार्वजनिक रिपॉसिटरी में होस्ट की गई क्रियाओं को सीधे आपके वर्कफ़्लोज़ में संदर्भित किया जा सकता है. ये क्रियाएं किसी के लिए भी सुलभ हैं और विशेषता में रिपॉजिटरी नाम और संस्करण (गिट रेफरी, एसएचए, या टैग) निर्दिष्ट करके उपयोग की जा सकती हैं uses । उदाहरण के लिए:

    steps:
      - name: Use a public action
        uses: actions/checkout@v3
    

[! महत्वपूर्ण]

बेहतर सुरक्षा के लिए, क्रियाओं का संदर्भ देते समय एक पूर्ण प्रतिबद्ध SHA का उपयोग करें—न कि केवल एक टैग की तरह @v3
यह सुनिश्चित करता है कि आपका वर्कफ़्लो हमेशा ठीक उसी कोड का उपयोग करता है, भले ही क्रिया अद्यतन की गई हो या बाद में परिवर्तित की गई हो.
उदाहरण: uses: actions/checkout@c2c1744e079e0dd11c8e0af4a96064ca4f6a2e9e

  1. आपकी वर्कफ़्लो फ़ाइल के समान रिपॉजिटरी
    आप अपनी वर्कफ़्लो फ़ाइल के समान रिपॉसिटरी में संग्रहीत क्रियाओं का संदर्भ दे सकते हैं. यह सुविधा उन कस्टम क्रियाओं के लिए उपयोगी है जो आपके प्रोजेक्ट के लिए विशिष्ट हैं। ऐसी क्रियाओं का संदर्भ देने के लिए, क्रिया की निर्देशिका के सापेक्ष पथ का उपयोग करें. उदाहरण के लिए:
    steps:
      - name: Use a local action
        uses: ./path-to-action
    

अधिक विवरण के लिए, GitHub क्रियाओं के लिए सुरक्षा सख्त मार्गदर्शन देखें।

  1. एक उद्यम बाज़ार
    यदि आपका संगठन GitHub Enterprise का उपयोग करता है, तो आप अपने एंटरप्राइज़ के निजी मार्केटप्लेस से कार्रवाइयों का संदर्भ ले सकते हैं। ये कार्रवाइयाँ आपके संगठन द्वारा क्यूरेट और प्रबंधित की जाती हैं, जो आंतरिक मानकों का अनुपालन सुनिश्चित करती हैं. उदाहरण के लिए:
    steps:
      - name: Use an enterprise marketplace action
        uses: enterprise-org/action-name@v1
    

नोट

  • निजी रिपॉजिटरी में क्रियाओं को भी संदर्भित किया जा सकता है, लेकिन उन्हें उचित प्रमाणीकरण और अनुमति की आवश्यकता होती है।
  • कार्रवाइयों का संदर्भ देते समय, संगतता सुनिश्चित करने और अनपेक्षित परिवर्तनों से बचने के लिए हमेशा एक संस्करण (Git ref, SHA, या tag) निर्दिष्ट करें।

अधिक जानकारी के लिए, कार्यप्रवाहों में संदर्भित क्रियाएँ देखें.

GitHub-होस्टेड बनाम सेल्फ-होस्टेड रनर

हमने संक्षेप में धावकों को नौकरी से जुड़े होने का उल्लेख किया। एक धावक बस एक सर्वर है जिसमें GitHub एक्शन रनर एप्लिकेशन इंस्टॉल है। पिछले वर्कफ़्लो उदाहरण में, जॉब्स ब्लॉक के भीतर एक runs-on: ubuntu-latest विशेषता थी, जिसने वर्कफ़्लो को बताया कि नौकरी पर्यावरण में ubuntu-latest चल रहे गिटहब-होस्टेड रनर का उपयोग करके चलने वाली है।

जब धावकों की बात आती है, तो दो विकल्प होते हैं जिनमें से चुनना है: गिटहब-होस्टेड धावक या स्व-होस्ट किए गए धावक। यदि आप GitHub-होस्टेड रनर का उपयोग करते हैं, तो प्रत्येक कार्य वर्चुअल वातावरण के एक नए उदाहरण में चलता है। GitHub-होस्टेड रनर प्रकार जिसे आप परिभाषित करते हैं, runs-on: {operating system-version} फिर उस वातावरण को निर्दिष्ट करता है। स्व-होस्ट किए गए धावकों के साथ, आपको स्व-होस्ट किए गए लेबल, इसके ऑपरेटिंग सिस्टम और सिस्टम आर्किटेक्चर को लागू करने की आवश्यकता है। उदाहरण के लिए, लिनक्स ऑपरेटिंग सिस्टम और एआरएम 32 आर्किटेक्चर के साथ एक स्व-होस्टेड धावक निम्नलिखित विनिर्देश की तरह दिखेगा: runs-on: [self-hosted, linux, ARM32].

प्रत्येक प्रकार के धावक के अपने लाभ होते हैं, लेकिन GitHub-होस्टेड धावक सीमित विकल्पों के साथ आपके वर्कफ़्लो को चलाने का एक तेज़ और सरल तरीका प्रदान करते हैं। स्व-होस्ट किए गए धावक आपके स्वयं के कस्टम स्थानीय वातावरण में वर्कफ़्लो चलाने के लिए एक उच्च विन्यास योग्य तरीका हैं। आप स्वयं-होस्ट किए गए धावक ऑन-प्रिमाइसेस या क्लाउड में चला सकते हैं। आप अधिक संसाधन शक्ति या स्मृति के साथ कस्टम हार्डवेयर कॉन्फ़िगरेशन बनाने के लिए स्वयं-होस्ट किए गए धावकों का भी उपयोग कर सकते हैं। इस प्रकार का कॉन्फ़िगरेशन बड़ी नौकरियों को चलाने, आपके स्थानीय नेटवर्क पर उपलब्ध सॉफ़्टवेयर स्थापित करने और GitHub-होस्टेड धावकों द्वारा पेश नहीं किए गए ऑपरेटिंग सिस्टम को चुनने में मदद करता है।

GitHub क्रियाओं की उपयोग सीमाएं हो सकती हैं

GitHub Actions की कुछ उपयोग सीमाएँ हैं, जो आपकी GitHub योजना पर निर्भर करती हैं और चाहे आपका धावक GitHub-होस्टेड हो या स्वयं-होस्ट किया गया हो। उपयोग की सीमाओं के बारे में अधिक जानकारी के लिए, GitHub दस्तावेज़ में उपयोग सीमाएं, बिलिंग और व्यवस्थापन देखें.

GitHub ने बड़े धावकों की मेजबानी की

GitHub वर्कफ़्लोज़ के लिए बड़े धावक प्रदान करता है जिनके लिए अधिक संसाधनों की आवश्यकता होती है। ये धावक GitHub-होस्टेड हैं और मानक धावकों की तुलना में बढ़े हुए CPU, मेमोरी और डिस्क स्थान प्रदान करते हैं। वे संसाधन-गहन कार्यप्रवाहों को कुशलतापूर्वक संभालने के लिए डिज़ाइन किए गए हैं, जो मांग वाले कार्यों के लिए इष्टतम प्रदर्शन सुनिश्चित करते हैं।

धावक आकार और लेबल

बड़े धावक कई कॉन्फ़िगरेशन में उपलब्ध हैं, जो विविध वर्कफ़्लो आवश्यकताओं को पूरा करने के लिए उन्नत vCPU, RAM और SSD स्टोरेज प्रदान करते हैं। ये कॉन्फ़िगरेशन परिदृश्यों के लिए आदर्श हैं जैसे:

  • व्यापक स्रोत फ़ाइलों के साथ बड़े कोडबेस संकलित करना।
  • एकीकरण और एंड-टू-एंड परीक्षणों सहित व्यापक परीक्षण सूट चलाना।
  • डेटा विश्लेषण या मशीन सीखने के कार्यों के लिए बड़े डेटासेट को संसाधित करना।
  • जटिल निर्भरता या बड़े बाइनरी आउटपुट के साथ अनुप्रयोगों का निर्माण।
  • उच्च प्रदर्शन सिमुलेशन या कम्प्यूटेशनल मॉडलिंग करना।
  • वीडियो एन्कोडिंग, रेंडरिंग या अन्य मल्टीमीडिया प्रोसेसिंग वर्कफ़्लोज़ निष्पादित करना।

किसी बड़े धावक का उपयोग करने के लिए, अपनी वर्कफ़्लो फ़ाइल की runs-on विशेषता में वांछित धावक लेबल निर्दिष्ट करें. उदाहरण के लिए, 16 वीसीपीयू और 64 जीबी रैम वाले धावक का उपयोग करने के लिए, आप सेट runs-on: ubuntu-latest-16coreकरेंगे .

jobs:
  build:
    runs-on: ubuntu-latest-16core
    steps:
      - uses: actions/checkout@v2
      - name: Build project
        run: make build

ये बड़े धावक मानक ubuntu-latest धावकों के समान प्रीइंस्टॉल्ड टूल को शामिल करके मौजूदा वर्कफ़्लोज़ के साथ संगतता बनाए रखते हैं।

बड़े धावकों के लिए धावक आकार के बारे में अधिक जानकारी के लिए, GitHub दस्तावेज़ देखें

बड़े धावकों का प्रबंधन

GitHub बड़े धावकों को प्रभावी ढंग से प्रबंधित करने के लिए उपकरण प्रदान करता है, इष्टतम संसाधन उपयोग और लागत प्रबंधन सुनिश्चित करता है। बड़े धावकों के प्रबंधन के कुछ प्रमुख पहलू यहां दिए गए हैं:

उपयोग की निगरानी

आप अपने रिपॉजिटरी या संगठन सेटिंग्स में GitHub एक्शन उपयोग पृष्ठ के माध्यम से बड़े धावकों के उपयोग की निगरानी कर सकते हैं। यह पृष्ठ चलाए गए कार्यों की संख्या, कुल रनटाइम और संबंधित लागतों के बारे में जानकारी प्रदान करता है।

पहुँच प्रबंधित करना

बड़े धावकों तक पहुंच को नियंत्रित करने के लिए, आप रिपॉजिटरी या संगठन-स्तरीय नीतियों को कॉन्फ़िगर कर सकते हैं। यह कॉन्फ़िगरेशन सुनिश्चित करता है कि केवल अधिकृत कार्यप्रवाह या टीम ही इन उच्च-संसाधन धावकों का उपयोग कर सकते हैं.

लागत प्रबंधन

बड़े धावक अपने उपयोग के आधार पर अतिरिक्त लागत लगाते हैं। लागतों का प्रबंधन करने के लिए, निम्नलिखित सुझावों पर विचार करें:

  • केवल उन कार्यप्रवाहों के लिए बड़े धावकों का उपयोग करें जिनके लिए उच्च संसाधनों की आवश्यकता होती है.
  • वर्कफ़्लोज़ ऑप्टिमाइज़ करके रनटाइम कम करें।
  • खर्चों को ट्रैक करने के लिए नियमित रूप से बिलिंग विवरण की निगरानी करें।

स्केलिंग वर्कफ़्लोज़

यदि आपके वर्कफ़्लोज़ को बड़े धावकों के लगातार उपयोग की आवश्यकता होती है, तो स्केलिंग रणनीतियों पर विचार करें जैसे:

  • अनुमानित कार्यभार के लिए स्व-होस्ट किए गए धावकों का उपयोग करना।
  • मानक धावकों में लोड वितरित करने के लिए वर्कफ़्लोज़ को छोटी नौकरियों में विभाजित करना।