استقرار برنامه Django در لیارا
در ابتدا، پس از ساخت برنامه بایستی تمام فایلها و پوشههایی که قصد ندارید در لیارا آپلود شوند را، از پروژه پاک کنید. به عنوان مثال، باید پوشههای venv. و dist را از پروژه خود پاک کنید؛ چرا که لیارا در حین فرایند استقرار، آنها را برای شما ایجاد خواهد کرد. به صورت کلی، اگر که در پروژه خود فایلی به نام gitignore. دارید، کافیست تا فایلهای و دایرکتوریهای اشاره شده در این فایل را، از پروژه خود پاک کنید.
همچنین، پروژه شما باید شامل فایل requirements.txt باشد؛ لیارا، در حین فرایند استقرار، به صورت خودکار این فایل را پیدا میکند و با اجرای دستور pip install -r تمامی ماژولهای تعریف شده در این فایل را، برایتان نصب میکند. قطعه کد زیر، یک نمونه از فایل requirements.txt برای برنامههای Django است:
در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید.
در انتها، به صورت مستقیم به صفحه تاریخچه برنامه هدایت میشوید که میتوانید لاگهای مربوط به استقرار را در آن، مشاهده بفرمایید.
پس از ساخت برنامه، باید در مسیر اصلی پروژه، یک فایل به نام liaraignore. یا gitignore. ایجاد کنید و درون آن، اسامی تمامی فایلها یا پوشههایی که قصد ندارید در لیارا آپلود شوند را، وارد کنید؛ به عنوان مثال، نیازی به آپلود دایرکتوریهای venv. و dist به همراه محتوای آنها نیست؛ چرا که لیارا در حین استقرار برنامه، آنها را برای شما میسازد؛ پس بایستی اسامی این دایرکتوریها در یکی از دو فایل فوق، نوشته شود؛ قطعه کد قرار گرفته در لینک زیر، یک gitignore. عالی برای برنامههای Django است که میتوانید از آن، استفاده کنید:
نمونه فایل gitignore. برای برنامههای Django
همچنین، پروژه شما باید شامل فایل requirements.txt باشد؛ لیارا، در حین فرایند استقرار، به صورت خودکار این فایل را پیدا میکند و با اجرای دستور pip install -r تمامی ماژولهای تعریف شده در این فایل را، برایتان نصب میکند. قطعه کد زیر، یک نمونه از فایل requirements.txt برای برنامههای Django است:
فایل liara.json
در ادامه، در مسیر اصلی پروژه، یک فایل به نام liara.json ایجاد کنید و قطعه کد زیر را در آن قرار دهید:
در قطعه کد فوق، در فیلد app باید شناسه برنامه خود را به جای my-web-app وارد کنید. در فیلد platform باید نوع پلتفرم خود را که django است، مشخص کنید.
mirror لیارا
از آنجایی که لیارا برای نصب پکیجهای فایل requirements.txt، از mirror اختصاصی خود استفاده میکند؛ از همین رو، ممکن است که در نصب برخی از پکیجهای جدید، دچار مشکل شود. برای رفع این مشکل، میتوانید mirror لیارا را با قراردادن قطعه کد زیر در فایل liara.json، غیرفعال کنید:
تعیین نسخه
برای تعیین نسخه Python برنامه خود نیز، کافیست تا در فایل liara.json فیلد pythonVersion را قرار دهید:
تعیین منطقه زمانی
به صورت پیشفرض، منطقهی زمانی برنامهتان بر روی Asia/Tehran تنظیم شده است؛ برای تغییر مقدار پیشفرض، میتوانید از پارامتر timezone در فایل liara.json استفاده کنید؛ به عنوان مثال:
دستور collectstatic
لیارا در هر استقرار، به صورت خودکار دستور python manage.py collectstatic را برای جمعآوری تمامی فایلهای Static (مانند JS , CSS , تصاویر و ...) و قراردادن آنها در STATIC_ROOT، اجرا میکند. برای جلوگیری از اجرای خودکار این دستور، بایستی فیلد collectStatic را در فایل liara.json، به شکل زیر، مقداردهی کنید:
برنامه چندزبانه
همچنین، اگر برنامه شما چند زبانه است و نیازمند اجرای دستور python manage.py compilemessages در هر بار استقرار هستید؛ بایستی در فایل liara.json، مقدار فیلد compileMessages را به شکل زیر، وارد کنید:
تغییر فایل settings.py
لیارا، به صورت خودکار فایل settings.py برنامهتان را پیدا کرده و در انتهای آن، تنظیمات مشخصی را برای اجرای برنامه، اضافه میکند؛ در صورتی که قصد ندارید این فایل دستخوش تغییرات شود، کافیست تا مقدار فیلد modifySettings را در فایل liara.json به شکل زیر، وارد کنید:
استفاده از GDAL
برای استفاده از GDAL در پلتفرم Django نیز، میتوانید فیلد geospatial را به شکل زیر، به فایل liara.json برنامه خود، اضافه کنید:
توجه داشته باشید که نسخه پکیج GDAL با نسخه Python باید سازگار باشند.
در نهایت، یک فایل liara.json میتواند مانند قطعه کد زیر باشد:
در صورتی که قصد دارید برنامهتان را در تیم مدنظرتان، مستقر کنید، باید فیلد team-idرا به فایل liara.json مانند شکل زیر، اضافه کنید. مقدار این فیلد، باید شناسه تیم شما در لیارا باشد:
اکنون کافیست تا در مسیر اصلی پروژه و جایی که فایل liara.json قرار دارد؛ دستور زیر را اجرا کنید و منتظر بمانید تا عملیات استقرار تمام شود:
در حین فرایند استقرار، میتوانید در ترمینال خود، لاگهای مربوط به آن را مشاهده بفرمایید.
پس از ساخت برنامه، باید در مسیر اصلی پروژه، یک فایل به نام gitignore. ایجاد کنید و درون آن، اسامی تمامی فایلها یا پوشههایی که قصد ندارید در لیارا آپلود شوند را، وارد کنید؛ به عنوان مثال، نیازی به آپلود دایرکتوریهای venv. و dist به همراه محتوای آنها نیست؛ چرا که لیارا در حین استقرار برنامه، آنها را برای شما میسازد؛ پس بایستی اسامی این دایرکتوریها در فایل فوق، نوشته شود؛ قطعه کد قرار گرفته در لینک زیر، یک gitignore. عالی برای برنامههای Django است که میتوانید از آن، استفاده کنید:
نمونه فایل gitignore. برای برنامههای Django
همچنین، پروژه شما باید شامل فایل requirements.txt باشد؛ لیارا، در حین فرایند استقرار، به صورت خودکار این فایل را پیدا میکند و با اجرای دستور pip install -r تمامی ماژولهای تعریف شده در این فایل را، برایتان نصب میکند. قطعه کد زیر، یک نمونه از فایل requirements.txt برای برنامههای Django است:
لیارا در جهت استقرار سریعتر، برای نصب پکیجهای موجود در فایل requirements.txt، از mirror اختصاصی خود استفاده میکند؛ از همین رو، ممکن است که در نصب برخی از پکیجهای جدید، دچار مشکل شود. برای رفع این مشکل، میتوانید در مسیر اصلی پروژه، یک فایل به نام liara.json ایجاد کنید و mirror لیارا را با قراردادن قطعه کد زیر در این فایل، غیرفعال کنید:
برای تعیین نسخه Python برنامه خود نیز، کافیست تا در فایل liara.json فیلد pythonVersion را قرار دهید:
تعیین منطقه زمانی
به صورت پیشفرض، منطقهی زمانی برنامهتان بر روی Asia/Tehran تنظیم شده است؛ برای تغییر مقدار پیشفرض، میتوانید از پارامتر timezone در فایل liara.json استفاده کنید؛ به عنوان مثال:
لیارا در هر استقرار، به صورت خودکار دستور python manage.py collectstatic را برای جمعآوری تمامی فایلهای Static (مانند JS , CSS , تصاویر و ...) و قراردادن آنها در STATIC_ROOT، اجرا میکند. برای جلوگیری از اجرای خودکار این دستور، بایستی فیلد collectStatic را در فایل liara.json، به شکل زیر، مقداردهی کنید:
همچنین، اگر برنامه شما چند زبانه است و نیازمند اجرای دستور python manage.py compilemessages در هر بار استقرار هستید؛ بایستی در فایل liara.json، مقدار فیلد compileMessages را به شکل زیر، وارد کنید:
لیارا، به صورت خودکار فایل settings.py برنامهتان را پیدا کرده و در انتهای آن، تنظیمات مشخصی را برای اجرای برنامه، اضافه میکند؛ در صورتی که قصد ندارید این فایل دستخوش تغییرات شود، کافیست تا مقدار فیلد modifySettings را در فایل liara.json به شکل زیر، وارد کنید:
برای استفاده از GDAL در پلتفرم Django نیز، میتوانید فیلد geospatial را به شکل زیر، به فایل liara.json برنامه خود، اضافه کنید:
توجه داشته باشید که نسخه پکیج GDAL با نسخه Python باید سازگار باشند.
در نهایت، یک فایل liara.json میتواند مانند قطعه کد زیر باشد:
در فایل فوق، برای جلوگیری از خطا خوردن فرایند استقرار، از فیلدهای app و platform استفاده نکنید؛ چرا که لیارا، آنها را به صورت خودکار، تشخیص خواهد داد.
در صورتی که قصد دارید برنامهتان را در تیم مدنظرتان، مستقر کنید، باید فیلد team-idرا به فایل liara.json مانند شکل زیر، اضافه کنید. مقدار این فیلد، باید شناسه تیم شما در لیارا باشد:
در ادامه، بایستی یک ریپازیتوری در حساب گیتهاب خود برای برنامهمدنظرتان با نام دلخواهتان ایجاد کنید، برای این کار، پس از ورود به گیتهاب، وارد بخش Repositories شوید و بر روی دکمه New کلیک کنید؛ پس از نوشتن نام و توضیحات ریپازیتوری، سطح دسترسی ریپازیتوری را (public یا private)، انتخاب کنید و در نهایت بر روی دکمه create repository کلیک کنید تا ریپازیتوری برایتان ساخته شود:
در صورتی که از قبل، این کار را انجام دادهاید یا قصد دارید از ریپازیتوریهای فعلی خود استفاده کنید؛ نیازی به ساخت ریپازیتوری جدید نیست.
اکنون، باید پروژه نهایی خود را در ریپازیتوریتان در گیتهاب آپلود کنید؛ حتماً در نظر داشته باشید که درون پروژهتان، فایل gitignore. قرار داشته باشد و درون آن، فایلهای اضافی برنامه، که قصد ندارید آپلود شوند؛ لیست شده باشند. میتوانید برای آپلود، مانند دستورات زیر در ترمینال ریشه پروژهتان، عمل کنید:
در صورتی که هنوز git را در سیستم عامل خود نصب ندارید؛ میتوانید آن را از اینجا، دانلود و نصب نمایید.
اگر که از قبل، پروژه نهایی خود را همراه با فایل liara.json، در گیتهاب آپلود کردهاید؛ نیازی به انجام مجدد این کار نیست.
در ادامه، بایستی حساب لیارا خود را به گیتهاب متصل کنید. برای اتصال حساب لیارا خود به گیتهاب، در لیارا بر روی پروفایل خود کلیک کرده و وارد زیر قسمت حساب کاربری شوید. در ادامه وارد منوی گیتهاب شوید و بر روی دکمه اتصال به گیتهاب، کلیک کنید. پس از انجام این کار و وارد کردن اطلاعات مربوط به گیتهاب، حساب لیارا شما به گیتهاب متصل خواهد شد:
در صورت مواجه با خطای "اتصال به Github"، بایستی از حساب لیارا خود، خارج شده و مجدداً به وسیله Github، به اکانت لیارا خود، وارد شوید.
اگر که قصد دارید به جای اتصال به حساب شخصی، از حساب سازمانی استفاده کنید. باید در ابتدا با حساب شخصی، به کنسول متصل شوید و بعد از آن میتوانید به حساب سازمانی هم متصل شوید.
بعد از اتصال به اکانت گیتهاب، بر روی گزینه ویرایش دسترسیها کلیک کرده و ریپازیتوری (ریپازیتوریهای) مدنظرتان را به حساب لیارا متصل کنید.
برای این کار در ابتدا، حساب شخصی یا سازمانی خود را انتخاب کنید؛ سپس در صورتی که قصد دارید تمام ریپازیتوریهای حساب گیتهابتان به لیارا متصل شود؛ گزینه All repositories را انتخاب کنید؛ اما اگر قصد دارید که فقط یک یا چند ریپازیتوری مدنظرتان را انتخاب کنید؛ گزینه Only select repositories را انتخاب کرده و در ادامه ریپازیتوریهای مدنظرتان را در کشوی باز شده، انتخاب کنید. در نهایت، بر روی گزینه Install & Authorize کلیک کنید تا ریپازیتوریهای انتخابی، به حساب لیارا، متصل شوند:
در نهایت، بر روی برنامه خود کلیک کرده وارد صفحه استقرار جدید شوید؛ سپس در منوی گیتهاب، ریپازیتوری مدنظرتان را انتخاب کرده و پس از انتخاب نوع استقرار (استقرار در صورت CI موفق یا استقرار خودکار) و branch مدنظرتان، بر روی گزینه اتصال به برنامه کلیک کنید تا برنامهتان به ریپازیتوری مدنظرتان متصل شود. در نهایت، کافیست تا یکبار بر روی گزینه استقرار دستی کلیک کنید تا آخرین commit شما در لیارا مستقر شود:
پس از انجام کارهای فوق، با هر بار push کردن پروژهتان در ریپازیتوری انتخاب شده، یک استقرار جدید مطابق آخرین تغییرات شما در لیارا، انجام خواهد شد.
برای قطع ارتباط برنامه و ریپازیتوری نیز، میتوانید بر روی دکمه قطع اتصال کلیک کنید تا تغییرات جدید، مستقر نشوند.
در صورت انتخاب گزینه استقرار در صورت CI موفق، تمامی تستهای تعریف شده باید pass شده و تیک سبز رنگ گرفته باشند، در غیر اینصورت، پروژهتان در لیارا، مستقر نخواهد شد.