🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

GitHub क्रियाएँ CI/CD गाइड 2026: स्वचालित परीक्षण और परिनियोजन

⏱️2 min read  ·  284 words
GitHub Actions CI/CD Guide 2026: Automate Testing and Deployment

GitHub क्रियाएँ2026 में सबसे व्यापक रूप से उपयोग किया जाने वाला सीआई/सीडी प्लेटफॉर्म है। सार्वजनिक रिपो के लिए निःशुल्क और निजी के लिए 2,000 मिनट/माह, यह सीधे आपके GitHub रिपॉजिटरी से परीक्षण, निर्माण और तैनाती को स्वचालित करता है। यह मार्गदर्शिका पहले वर्कफ़्लो से लेकर उत्पादन परिनियोजन तक सब कुछ कवर करती है।

मूल अवधारणाएँ

  • वर्कफ़्लो:YAML फ़ाइल.github/workflows/
  • में घटना:ट्रिगर (पुश, पीआर, शेड्यूल, मैनुअल)
  • नौकरी:धावक पर चलने वाले चरणों का सेट
  • चरण:व्यक्तिगत आदेश या कार्रवाई
  • धावक:वीएम जहां आपका काम चलता है (उबंटू, विंडोज, मैकओएस)

पहला वर्कफ़्लो: पुश पर परीक्षण

# .github/workflows/test.yml
name: Test

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install dependencies
        run: |
          pip install -r requirements.txt

      - name: Run tests
        run: pytest --cov=. --cov-report=xml

      - name: Upload coverage
        uses: codecov/codecov-action@v4

मैट्रिक्स बनाता है (एकाधिक संस्करणों का परीक्षण करें)

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.11', '3.12', '3.13']

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
      - run: pip install -r requirements.txt && pytest

टैग पर उत्पादन में तैनात करें

name: Deploy

on:
  push:
    tags: ['v*']

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: production

    steps:
      - uses: actions/checkout@v4

      - name: Build Docker image
        run: |
          docker build -t myapp:${{ github.ref_name }} .
          docker tag myapp:${{ github.ref_name }} registry.example.com/myapp:latest

      - name: Push to registry
        run: |
          echo ${{ secrets.REGISTRY_TOKEN }} | docker login registry.example.com -u ci --password-stdin
          docker push registry.example.com/myapp:latest

      - name: Deploy via SSH
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: deploy
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          script: |
            docker pull registry.example.com/myapp:latest
            docker compose up -d

कैशिंग निर्भरताएँ (तेज़ निर्माण)

      - name: Cache pip
        uses: actions/cache@v4
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}

      - name: Cache node_modules
        uses: actions/cache@v4
        with:
          path: node_modules
          key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

रहस्यों का उपयोग करना

GitHub सेटिंग्स > रहस्य और चर > क्रियाएँ में API कुंजियाँ संग्रहीत करें।${{ secrets.MY_KEY }}के साथ वर्कफ़्लो में पहुंच . रहस्य कभी भी लॉग में मुद्रित नहीं होते।

      - name: Send deploy notification
        run: |
          curl -X POST ${{ secrets.SLACK_WEBHOOK }} \
            -H 'Content-type: application/json' \
            --data '{"text": "Deployed ${{ github.ref_name }}"}'

निष्कर्ष

GitHub Actions अलग CI/CD बुनियादी ढांचे की आवश्यकता को दूर करता है। एक साधारण परीक्षण वर्कफ़्लो से प्रारंभ करें, मैट्रिक्स बिल्ड जोड़ें, फिर टैग द्वारा ट्रिगर स्वचालित परिनियोजन पर आगे बढ़ें। कैशिंग में निर्माण समय में 50-80% की कटौती होती है।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা