CodeShot
GitHub Actions1 دقیقه مطالعه

GitHub Actions چیست؟

موتور CI/CD یکپارچه با GitHub برای اجرای خودکار Workflow ها (Build، Test، Deploy) با تعریف فایل YAML در همان مخزن.

چرا مهم است؟

چون مستقیم داخل GitHub جا افتاده و نیاز به سرویس CI/CD جدا ندارد، امروز رایج‌ترین ابزار CI/CD برای پروژه‌های متن‌باز و بسیاری از تیم‌های خصوصی است؛ در مصاحبه‌های Backend/DevOps پرتکرار پرسیده می‌شود.

تعریف

GitHub Actions با فایل‌های YAML داخل پوشه .github/workflows/ تعریف می‌شود؛ هر Workflow به یک رویداد (Push، Pull Request، زمان‌بندی و ...) واکنش نشان می‌دهد و مجموعه‌ای از Job/Step را اجرا می‌کند.

نمونه Workflow

name: CI
on:
  push:
    branches: [main]
  pull_request:

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: "8.x"
      - run: dotnet build --configuration Release
      - run: dotnet test

مفاهیم کلیدی

  • Workflow: فایل YAML تعریف‌کننده کل فرآیند
  • Job: مجموعه‌ای از Step ها که روی یک Runner اجرا می‌شوند
  • Action: یک واحد قابل‌استفاده مجدد (مثل actions/checkout)
  • Secrets: مقادیر حساس که در تنظیمات مخزن ذخیره و در Workflow با ${{ secrets.NAME }} استفاده می‌شوند

اشتباه رایج

❌ اجرای Deploy روی هر Push به هر Branch بدون شرط — باید با if یا محدود کردن branches مطمئن شد Deploy فقط از شاخه‌های مجاز (مثل main) اجرا می‌شود.

منبع و مطالعه بیشتر

خلاصه

GitHub Actions با فایل YAML در .github/workflows/ خط‌لوله CI/CD را مستقیم داخل GitHub اجرا می‌کند. همیشه Deploy را به شاخه‌های مشخص محدود کنید تا از انتشار ناخواسته جلوگیری شود. مرجع کامل: GitHub Docs.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←