وب‌هوک

وب‌هوک مانند یک پل ارتباطی میان مخزن کدهای شما در Github و سرورهای پارس‌پک عمل می‌کند. با راه‌اندازی این پل، دیگر نیازی به استقرار دستی ندارید؛ به محض اینکه تغییر جدیدی را در کدهای خود پوش (Push) کنید، سیستم به‌طور خودکار نسخه جدید را ساخته و روی اپلیکیشن شما جایگزین می‌کند (فرایند CI/CD).

پیش‌نیاز: این قابلیت تنها برای اپلیکیشن‌هایی کار می‌کند که در زمان ساخت، مستقیما به Git متصل شده باشند.

برای برقراری این ارتباط، باید اطلاعات را از پارس‌پک گرفته و به Github معرفی کنید. این فرایند در دو گام ساده انجام می‌شود:

گام اول: تولید پارامترهای اتصال در پنل PaaS

در این مرحله، شاخه (Branch) هدف برای استقرار خودکار را در پنل پارس‌پک تعیین می‌کنیم تا مسیرهای ارتباطی (Payload URL) ایجاد شوند:

  1. در پنل مدیریت اپلیکیشن، وارد بخش «وب‌هوک» شوید.
  2. سوییچ وضعیت در بالای صفحه را روی حالت «فعال» قرار دهید.
  3. در کادر متنی، نام دقیق شاخه‌ای که قصد دارید تغییرات آن را روی سرور مستقر کنید (مانند main یا master) وارد کرده و تغییرات را ذخیره کنید.
  4. سیستم در پایین صفحه، یک Payload URL (و در صورت نیاز پارامتر Secret) تولید می‌کند. این آدرس را برای استفاده در گام بعدی کپی کنید.

گام دوم: پیکربندی Webhook در Github

با استفاده از پارامترهای تولیدشده، باید مخزن Github را برای ارسال درخواست (Request) به سرورهای پارس‌پک تنظیم کنید:

  1. در Github وارد پروژه خود شده و به مسیر Settings > Webhooks بروید.
  2. روی دکمه‌ی Add webhook کلیک کنید.
  3. در فرم باز شده، تنظیمات زیر را اعمال کنید:
    • Payload URL: آدرسی که از پارس‌پک کپی کرده بودید را اینجا قرار دهید.
    • Content type: بر اساس نیاز پروژه، یکی از دو فرمت application/json یا application/x-www-form-urlencoded را انتخاب کنید.
    • Secret: در صورت دریافت این پارامتر از پنل پارس‌پک، آن را در این فیلد وارد کنید.

گام نهایی: تعیین رویدادهای اجرا (Events)

در ادامه تنظیمات Github، مشخص کنید که وب‌هوک با چه رویدادی فراخوانی و به سرور پارس‌پک ارسال شود:

  • Just the push event: استقرار خودکار تنها با رویداد Push روی شاخه مشخص‌شده استارت می‌خورد (متداول‌ترین حالت).
  • Send me everything: تمامی رویدادهای مخزن (نظیر کامیت، باز کردن Merge Request و…) به وب‌هوک ارسال می‌شوند.
  • Let me select individual events: امکان شخصی‌سازی و انتخاب دقیق رویدادهای مورد نیاز برای تریگر شدن وب‌هوک را در اختیار شما قرار می‌دهد.

با ذخیره تنظیمات (کلیک روی Add webhook)، ارتباط به‌طور کامل برقرار می‌شود. از این پس، با وقوع رویدادِ تنظیم‌شده در Github، عملیات دیپلوی نسخه جدید به‌طور خودکار در پنل پارس‌پک آغاز خواهد شد.