دیپلوی پروژه پایتون روی Vercel: راهنمای جامع

دیپلوی پروژه پایتون روی Vercel: راهنمای جامع

Vercel یک پلتفرم محبوب برای دیپلوی وب‌اپلیکیشن‌ها است که به خاطر سادگی، سرعت و مقیاس‌پذیری شناخته می‌شود. در حالی که Vercel در ابتدا برای پروژه‌های فرانت‌اند مبتنی بر JavaScript طراحی شده بود، امکان دیپلوی پروژه‌های بک‌اند پایتون نیز با استفاده از Serverless Functions فراهم شده است. این مقاله به شما نشان می‌دهد که چگونه یک پروژه پایتون (Flask, Django, FastAPI) را روی Vercel دیپلوی کنید.

پیش‌نیازها

قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:

  • یک حساب کاربری در Vercel (https://vercel.com)
  • نصب Node.js و npm (یا yarn) روی سیستم خود
  • یک پروژه پایتون آماده (Flask, Django, FastAPI)
  • یک حساب کاربری در GitHub، GitLab یا Bitbucket (برای ذخیره کد پروژه)

مراحل کلی دیپلوی

فرآیند دیپلوی یک پروژه پایتون روی Vercel به طور کلی شامل مراحل زیر است:

  1. آماده‌سازی پروژه پایتون
  2. ایجاد فایل vercel.json
  3. ایجاد یک مخزن Git و Push کردن کد
  4. اتصال مخزن Git به Vercel
  5. دیپلوی پروژه

آماده‌سازی پروژه پایتون

بسته به فریم‌ورک پایتون مورد استفاده، مراحل آماده‌سازی کمی متفاوت خواهد بود.

Flask

برای پروژه‌های Flask، شما باید یک فایل app.py (یا نام مشابه) داشته باشید که شامل کد اصلی برنامه شما باشد. همچنین، باید یک فایل requirements.txt ایجاد کنید که لیست وابستگی‌های پروژه را مشخص می‌کند. این فایل را می‌توانید با استفاده از دستور pip freeze > requirements.txt ایجاد کنید.

Django

دیپلوی Django کمی پیچیده‌تر است. شما باید یک فایل wsgi.py داشته باشید که به عنوان نقطه ورود به برنامه Django عمل می‌کند. همچنین، باید یک فایل requirements.txt ایجاد کنید که لیست وابستگی‌های پروژه را مشخص می‌کند. در Django، معمولاً از یک سرور WSGI مانند Gunicorn برای اجرای برنامه استفاده می‌شود. Vercel به طور مستقیم از Django پشتیبانی نمی‌کند، بنابراین باید از Serverless Functions برای اجرای Django استفاده کنید. این کار معمولاً با استفاده از یک فریم‌ورک مانند Chalice یا Zappa انجام می‌شود. (در این آموزش، تمرکز بر Flask و FastAPI است و دیپلوی Django به طور کامل پوشش داده نمی‌شود.)

FastAPI

FastAPI به طور طبیعی برای دیپلوی Serverless مناسب است. شما باید یک فایل main.py (یا نام مشابه) داشته باشید که شامل کد اصلی برنامه FastAPI شما باشد. همچنین، باید یک فایل requirements.txt ایجاد کنید که لیست وابستگی‌های پروژه را مشخص می‌کند. این فایل را می‌توانید با استفاده از دستور pip freeze > requirements.txt ایجاد کنید.

ایجاد فایل vercel.json

فایل vercel.json یک فایل پیکربندی است که به Vercel می‌گوید چگونه پروژه شما را دیپلوی کند. این فایل باید در ریشه پروژه شما قرار گیرد. محتوای این فایل بسته به فریم‌ورک پایتون مورد استفاده متفاوت است.

Flask

برای Flask، فایل vercel.json می‌تواند به شکل زیر باشد:

{
  "version": 2,
  "builds": [
    {
      "src": "app.py",
      "use": "@vercel/python"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "app.py"
    }
  ]
}

FastAPI

برای FastAPI، فایل vercel.json می‌تواند به شکل زیر باشد:

{
  "version": 2,
  "builds": [
    {
      "src": "main.py",
      "use": "@vercel/python"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "main.py"
    }
  ]
}

در این فایل‌ها، src مشخص می‌کند که کدام فایل پایتون به عنوان نقطه ورود به برنامه استفاده شود و use مشخص می‌کند که از बिल्डर پایتون Vercel استفاده شود. routes مشخص می‌کند که تمام درخواست‌ها به فایل پایتون مشخص شده هدایت شوند.

ایجاد یک مخزن Git و Push کردن کد

شما باید کد پروژه خود را در یک مخزن Git (GitHub، GitLab یا Bitbucket) ذخیره کنید. این کار به Vercel اجازه می‌دهد تا کد شما را دریافت کرده و آن را دیپلوی کند. پس از ایجاد مخزن، کد پروژه خود را به آن Push کنید.

اتصال مخزن Git به Vercel

وارد حساب کاربری Vercel خود شوید و روی دکمه “New Project” کلیک کنید. سپس، مخزن Git خود را از لیست مخازن موجود انتخاب کنید. Vercel به طور خودکار کد شما را دریافت کرده و فرآیند دیپلوی را آغاز می‌کند.

دیپلوی پروژه

پس از اتصال مخزن Git به Vercel، Vercel به طور خودکار فرآیند دیپلوی را آغاز می‌کند. این فرآیند شامل نصب وابستگی‌ها، ساخت پروژه و دیپلوی آن روی پلتفرم Vercel است. پس از اتمام دیپلوی، Vercel یک URL منحصر به فرد به شما می‌دهد که می‌توانید از آن برای دسترسی به برنامه خود استفاده کنید.

نکات مهم

  • وابستگی‌ها: اطمینان حاصل کنید که تمام وابستگی‌های پروژه شما در فایل requirements.txt ذکر شده‌اند.
  • متغیرهای محیطی: اگر برنامه شما به متغیرهای محیطی نیاز دارد، می‌توانید آن‌ها را در تنظیمات پروژه Vercel تنظیم کنید.
  • Serverless Functions: Vercel از Serverless Functions برای اجرای کد پایتون استفاده می‌کند. این بدان معناست که کد شما فقط زمانی اجرا می‌شود که درخواست دریافت کند.
  • مقیاس‌پذیری: Vercel به طور خودکار برنامه شما را مقیاس می‌دهد تا بتواند ترافیک بالا را مدیریت کند.
  • مانیتورینگ: Vercel ابزارهایی برای مانیتورینگ عملکرد برنامه شما ارائه می‌دهد.

عیب‌یابی

اگر در هنگام دیپلوی پروژه خود با مشکل مواجه شدید، می‌توانید از موارد زیر برای عیب‌یابی استفاده کنید:

  • لاگ‌های Vercel: لاگ‌های Vercel اطلاعات مفیدی در مورد فرآیند دیپلوی و اجرای برنامه شما ارائه می‌دهند.
  • مستندات Vercel: مستندات Vercel حاوی اطلاعات جامعی در مورد دیپلوی پروژه‌های پایتون است.
  • انجمن Vercel: انجمن Vercel مکانی عالی برای پرسیدن سوال و دریافت کمک از سایر توسعه‌دهندگان است.

نتیجه‌گیری

دیپلوی پروژه‌های پایتون روی Vercel یک فرآیند ساده و سریع است. با استفاده از Serverless Functions، Vercel به شما امکان می‌دهد تا برنامه‌های پایتون خود را به راحتی مقیاس‌پذیر و قابل اعتماد کنید. این راهنما به شما نشان داد که چگونه یک پروژه پایتون (Flask, FastAPI) را روی Vercel دیپلوی کنید. با رعایت نکات و مراحل ذکر شده، می‌توانید به راحتی برنامه‌های پایتون خود را روی Vercel دیپلوی کرده و از مزایای این پلتفرم بهره‌مند شوید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *