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

গিটহাব অ্যাকশন সিআই/সিডি গাইড 2026: স্বয়ংক্রিয় পরীক্ষা এবং স্থাপনা

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

গিটহাব অ্যাকশন2026 সালে সর্বাধিক ব্যবহৃত CI/CD প্ল্যাটফর্ম। সর্বজনীন রেপোর জন্য বিনামূল্যে এবং ব্যক্তিগত জন্য 2,000 মিনিট/মাস, এটি আপনার GitHub সংগ্রহস্থল থেকে সরাসরি পরীক্ষা, নির্মাণ এবং স্থাপনা স্বয়ংক্রিয় করে। এই নির্দেশিকাটি প্রথম ওয়ার্কফ্লো থেকে শুরু করে প্রোডাকশন মোতায়েনের সবকিছু কভার করে।

মূল ধারণা

  • কর্মপ্রবাহঃYAML ফাইল.github/workflows/
  • ঘটনা:ট্রিগার (ধাক্কা, পিআর, সময়সূচী, ম্যানুয়াল)
  • চাকরি:একটি রানার উপর চালানো পদক্ষেপের সেট
  • ধাপ:স্বতন্ত্র আদেশ বা কর্ম
  • রানার:VM যেখানে আপনার কাজ চলে (Ubuntu, Windows, macOS)

প্রথম কর্মপ্রবাহ: পুশের উপর পরীক্ষা

# .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 }}"}'

উপসংহার

গিটহাব অ্যাকশন আলাদা সিআই/সিডি অবকাঠামোর প্রয়োজনীয়তা দূর করে। একটি সাধারণ পরীক্ষার ওয়ার্কফ্লো দিয়ে শুরু করুন, ম্যাট্রিক্স বিল্ড যোগ করুন, তারপর ট্যাগ দ্বারা ট্রিগার হওয়া স্বয়ংক্রিয় স্থাপনায় স্নাতক হন। ক্যাশিং কাট বিল্ড টাইম 50-80% করে।

✍️ Leave a Comment

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

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