پروژههای FastAPI
دیپلوی کردن سرویسها بر روی فندق برای کاربرانی که با docker کار نکردهاند ممکن است مقداری مبهم باشد؛ همینطور معمولا آماده سازی پروژهها برای اجرا در محیط واقعی نیاز به تنظیماتی دارد که باعث پیچیده شدن کار برنامهنویس میشود.
ما در این بخش به توضیح چگونگی دیپلوی کردن سرویس FastAPI Project
بدون نیاز به دانش docker میپردازیم.
fandogh-cli setup
اگر هنوز fandogh-cli فندق بر روی کامپیوتر شما نصب نیست از طریق این مستند میتوانید cli را بر روی کامپیوتر خود نصب کنید.
فیلم های آموزشی
- استقرار
- دامنه دلخواه
مستندات قدم به قدم
در پوشه اصلی پروژه، بعد از اینکه در فندق لاگین کردید دستور fandogh source init
را اجرا کنید. در اولین مرحله شما میبایست اسم سرویس را انتخاب نمایید.
بعد از وارد کردن نام service برای شما گزینه هایی که بدون نیاز به دانش docker قابل اجرا هستند نمایش داده میشود. از بین گزینه های نمایش داده شده گزینه FastAPI Project را انتخاب کنید.
توجه
توجه داشته باشید برای انتخاب، شماره گزینه مورد نظر را وارد کنید.
نکته
حتما در نظر داشته باشید فایل requirements.txt در root directory پروژه مورد نظرتان وجود داشته باشد؛ در غیر این صورت پیغام خطای عدم وجود این فایل را دریافت خواهید کرد.
در قسمت بعدی شما باید context را وارد کنید. اگر در حال حاضر در پوشه اصلی نیستید می توانید آدرس آن را وارد کنید یا در غیر این صورت خالی بگذارید و دکمه enter را فشار دهید.
گزینه بعدی انتخاب ورژن پایتون است که به صورت پیش فرض ورژن 3.8 است. شما با وارد کردن ورژن مورد نظر خود میتوانید آن را تغییر دهید.
نکته
حتما در نظر داشته باشید ورژن پایتون شما باید یکی از ورژن های 3.6 ،3.7 و 3.8 باشد.
بعد از اینکه گزینه FastAPI Project را انتخاب کردید فندق از شما نام ماژول WSGI_MODULE
را خواهد پرسید..
منظور از فایل WSGI_MODULE فایل پایتونی است که شما application fastapi خود را تعریف کرده اید.
راهنمایی
در نظر داشته باشید فقط اسم فایل و بدون پسوند وارد کنید. به عنوان مثال اگر app شما در فایلی به اسم main.py است فقط اسم فایل یعنی main را وارد کنید. اگر فایل شما در پوشهای قرار دارد اسم پوشه را هم وارد کنید. به عنوان مثال اگر فایل main شما در پوشهای به اسم project است شما باید project.main وارد کنید.
نکته
فندق پروژه شما را با استفاده از uvicorn-gunicorn دیپلوی میکند. به همین دلیل حتما باید instanceای که از fastapi میسازید به اسم app باشد. در غیر این صورت هنگام راه اندازی سرویس با خطا مواجه خواهید شد. مانند مثال زیر عمل کنید:
پس از مشخص کردن اطلاعات فوق، فایلی با نام fandogh.yml در پوشه جاری شما ساخته میشود.
اکنون با نوشتن دستور fandogh source run
می توانید پروژه خودتان را بر روی فندق دیپلوی کنید.
راهنمایی
پس از هر بار تغییر در پروژه تنها کافیست که دستور fandogh source run را مجددا اجرا کنید.
فایل fandogh.yml
میتواند شامل تمام بخشهایی که در مانیفست فندق است باشد٬ شما به صورت
دستی قادر هستید تا بخشهای مورد نیاز این فایل را تغییر دهید.