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

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

.cpanel.ymlcPanel GitGit Deployment,

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۲ اسفند ۱۴۰۴

1. مقدمه


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


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


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


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

2. پیش‌نیازهای استقرار


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


  • وجود یک فایل معتبر .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 کنترل دستی بیشتری ارائه می‌دهد.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

این مقاله یک راهنمای جامع برای مدیران سیستم تازه‌کار است که می‌خواهند اکانت‌های cPanel را بازیابی کنند، حساب‌ها و تنظیمات را بین سرورها منتقل کنند، و از ابزارهای تشخیصی برای بررسی مشکلات انتقال و بازیابی استفاده کنند. این راهنما شامل نحوه استفاده از WHM، نحوه آپلود بکاپ‌ها، روش‌های انتقال، و فعال‌سازی لاگ‌های پیشرفته است.

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه