Skip to Content

خوش آمدید!

بهترین محتوا و ایده‌های جدید بازاریابی خود را به اشتراک بگذارید، پروفایل حرفه‌ای خود را ایجاد کنید و به بازاریاب بهتری تبدیل شوید.

ثبت نام

شما نیاز به ثبت‌نام دارید تا بتوانید با جامعه تعامل داشته باشید.
این سوال علامت‌گذاری شده است
1 پاسخ
3 نماها

ما برای پیاده سازی بخشی از فرآیندها DevOps نیاز داریم که از فرآیندهایی استفاده کنیم که در GitHu با استفاده از Free Plan امکان اجرا وجود ندارد.


یک روش برای حل این مشکل استفاده از نسخه های محلی و لوکال برای اجرای این فرآیندها است. 


آیا این امکان وجود دارد که از githubaction در کامپیوتر شخصی استفاده کرد؟ به گونه‌ای که محدو دیت نداشته باشد؟

آواتار
رها کردن
مولف پاسخ برتر

بله، می‌شود GitHub Actions را به‌صورت لوکال اجرا کرد، ولی با چند نکته و محدودیت مهم. اجازه بده کامل و عملی توضیحش بدهم:

✅ روش استفاده از GitHub Actions به‌صورت محلی

GitHub Actions خودش روی سرورهای GitHub اجرا می‌شود (در Free Plan محدود به دقیقه، نوع runner، و دسترسی به secrets خصوصی است).

اما برای اجرای همان workflowها روی سیستم خودت (بدون محدودیت زمانی یا حساب)، می‌توانی از ابزارهای متن‌باز زیر استفاده کنی:

🔹 گزینه ۱: استفاده از act (ساده‌ترین روش)

act یک ابزار CLI است که به تو اجازه می‌دهد workflowهای GitHub Actions را در کامپیوتر خودت با Docker اجرا کنی.

نصب

# macOS / Linux
brew install act

# Windows (با Scoop)
scoop install act

اجرای workflow

در پوشه مخزن (که فایل .github/workflows/ دارد):

act

می‌تواند با آرگومان‌های خاص اجرا شود:

# اجرای فقط workflow مربوط به pull_request
act pull_request

# اجرای job خاص
act -j build

ویژگی‌ها

  • از Docker برای اجرای jobها استفاده می‌کند (هر job در یک container).
  • می‌تواند secrets محلی بخواند (مثلاً از .secrets یا env).
  • محدودیتی در زمان یا نوع runner ندارد.
  • تقریباً با syntax واقعی GitHub Actions سازگار است.

نکته:

برخی actionها (به‌خصوص آن‌هایی که به GitHub API نیاز دارند مثل actions/checkout@v4) ممکن است نیاز به mock یا token محلی داشته باشند.

🔹 گزینه ۲: استفاده از Self-hosted Runner

اگر می‌خواهی واقعاً از GitHub Actions خود GitHub استفاده کنی ولی روی سرور یا لپ‌تاپ خودت اجرا شود:

  1. به مخزن در GitHub برو.
  2. مسیر زیر را باز کن:
    Settings → Actions → Runners → New self-hosted runner
  3. دستوراتی که GitHub بهت می‌دهد را در سیستم خودت اجرا کن:
    ./config.sh --url https://github.com/USERNAME/REPO --token XYZ
    ./run.sh
    
  4. حالا وقتی workflow اجرا می‌شود، jobها در سیستم محلی تو اجرا می‌شوند، نه در سرور GitHub.

✅ مزیت:

  • workflow واقعی روی GitHub اجرا می‌شود، اما با منابع سخت‌افزاری خودت.
  • محدودیت دقیقه‌های GitHub runner را نداری.

⚠️ نکته:

  • در Free Plan فقط می‌توانی runner خصوصی برای مخزن خودت تعریف کنی، نه برای Organization خصوصی (در آن حالت GitHub Pro/Team لازم است).
  • سیستم تو باید روشن و متصل به اینترنت باشد هنگام اجرای job.

🧭 نتیجه‌گیری سریع

روش نوع اجرا محدودیت نیاز به اینترنت سازگاری
act کاملاً لوکال ندارد اختیاری بسیار زیاد
Self-hosted Runner نیمه‌لوکال (اتصال به GitHub) محدود به حساب Free بله کامل


آواتار
رها کردن
logo-samandehi