راهنمای Git — استقرار (Deployment) در cPanel

این مقاله نحوه استقرار (Deployment) مخازن Git مدیریت‌شده در cPanel را توضیح می‌دهد. شامل پیش‌نیازها، ساخت فایل .cpanel.yml، استقرار خودکار (Push Deployment)، استقرار دستی (Pull Deployment) و مثال‌های کاربردی برای انتقال کد به محیط تولید است.

Git Deployment,cPanel Git,.cpanel.yml

~3 min read • Updated Feb 21, 2026

1. مقدمه


ویژگی Git™ Version Control در cPanel امکان استقرار (Deployment) مخازن Git مدیریت‌شده را فراهم می‌کند. استقرار معمولاً به معنای انتقال کد نهایی به محیط تولید است. شما می‌توانید استقرار را به‌صورت خودکار (Push Deployment) یا دستی (Pull Deployment) پیکربندی کنید.


برای مثال، می‌توانید تغییرات را روی سیستم محلی انجام دهید و سپس آن‌ها را به‌صورت خودکار به یک دایرکتوری روی حساب cPanel ارسال کنید.


برای اطلاعات بیشتر:


  • مستندات Git Version Control
  • مستندات Advanced Configuration and Troubleshooting
  • مستندات Common Git Commands

2. پیش‌نیازهای Deployment


قبل از استقرار، مخزن باید شرایط زیر را داشته باشد:


  • وجود یک فایل معتبر .cpanel.yml در ریشه مخزن
  • وجود یک یا چند شاخه محلی یا ریموت
  • پاک بودن Working Tree

اگر مخزن این شرایط را نداشته باشد، اطلاعات Deployment نمایش داده نمی‌شود و قابلیت استقرار غیرفعال خواهد شد.


3. فایل YAML استقرار (.cpanel.yml)


فایل .cpanel.yml مشخص می‌کند که چه فایل‌هایی و چگونه باید استقرار یابند. این فایل باید در ریشه هر مخزن مدیریت‌شده قرار گیرد.


نکات مهم:

  • نمونه‌های زیر فقط مثال هستند و باید مطابق نیاز شما تغییر کنند.
  • هرگز از wildcard مانند * برای استقرار همه فایل‌ها استفاده نکنید (ممکن است دایرکتوری .git نیز منتقل شود).
  • از کاراکترهای نامعتبر YAML استفاده نکنید.

3.1 استقرار فایل‌های تکی


---
deployment:
  tasks:
    - export DEPLOYPATH=/home/example/public_html/
    - /bin/cp index.html $DEPLOYPATH
    - /bin/cp style.css $DEPLOYPATH

توضیحات:

  • خط 1: شروع فایل YAML
  • خطوط 2 و 3: تعریف کلیدهای deployment و tasks
  • خطوط 4 تا 6: لیست دستورات BASH برای استقرار

3.2 استقرار یک دایرکتوری کامل


---
deployment:
  tasks:
    - export DEPLOYPATH=/home/example/public_html/
    - /bin/cp -R images $DEPLOYPATH

توضیحات مشابه مثال قبل است.


4. استقرار خودکار (Push Deployment)


نکته مهم: cPanel به‌صورت خودکار یک post-receive hook به مخازن مدیریت‌شده اضافه می‌کند.


وقتی تغییرات را به مخزن cPanel Push می‌کنید و فایل .cpanel.yml وجود دارد، سیستم به‌صورت خودکار استقرار را انجام می‌دهد.


در Push Deployment:

  • شما تغییرات را از مخزن ریموت Pull می‌کنید
  • سپس آن‌ها را به مخزن cPanel Push می‌کنید
  • سیستم به‌صورت خودکار دستورات .cpanel.yml را اجرا می‌کند

نکته: می‌توانید بدون تغییر جدید نیز استقرار دستی انجام دهید.


5. استقرار دستی (Pull Deployment)


در Pull Deployment:

  • شما تغییرات را از سیستم محلی به مخزن ریموت Push می‌کنید
  • در cPanel روی Update from Remote کلیک می‌کنید
  • تغییرات به مخزن cPanel منتقل می‌شود
  • با کلیک روی Deploy HEAD Commit استقرار انجام می‌شود

این روش استقرار خودکار ندارد و باید هر بار مراحل را تکرار کنید.


نتیجه‌گیری


با استفاده از فایل .cpanel.yml و انتخاب روش مناسب (Push یا Pull)، می‌توانید فرآیند استقرار کد را در cPanel مدیریت کنید. Push Deployment برای استقرار خودکار مناسب است، در حالی که Pull Deployment کنترل دستی بیشتری ارائه می‌دهد.


Written & researched by Dr. Shahin Siami