
GitHub क्रियाएँ2026 में सबसे व्यापक रूप से उपयोग किया जाने वाला सीआई/सीडी प्लेटफॉर्म है। सार्वजनिक रिपो के लिए निःशुल्क और निजी के लिए 2,000 मिनट/माह, यह सीधे आपके GitHub रिपॉजिटरी से परीक्षण, निर्माण और तैनाती को स्वचालित करता है। यह मार्गदर्शिका पहले वर्कफ़्लो से लेकर उत्पादन परिनियोजन तक सब कुछ कवर करती है।
📋 Table of Contents
मूल अवधारणाएँ
- वर्कफ़्लो: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% की कटौती होती है।
🔗 Share this article
✍️ Leave a Comment