ارسال به هروکو و برپا کردن پایگاه داده
ارسال به هروکو
در نهایت میخواهیم پروژه را به هروکو بفرستیم. در یک محیط فعّال مجازی فرمانهای زیر را وارد کنید:
|
|
ابتدا فرمان heroku login را وارد میکنید که شما را به صفحهای در مرورگرتان میبرد تا در آنجا به حساب هروکوی خود وارد شوید (۱). سپس به هروکو میگویید که یک پروژهی خالی درست کند (۲). هروکو نامی متشکّل از دو کلمه و یک عدد درست میکند؛ میتوانید آن را بعداً عوض کنید. سپس دستور git push heroku master را وارد میکنیم (۳) که به گیت میگوید شاخهی اصلی پروژه را در مخزنی که هروکو ساخته بفرست. هروکو با استفاده از این فایلها پروژه را در سرورهای خود میسازد. در ۴ آدرسی قرار دارد که از آن برای دسترسی به پروژهی در حال کار استفاده میکنیم و میتوانیم آن را به همراه نام پروژه عوض کنیم.
زمانی که این فرمانها را صادر میکنید پروژه استقرار مییابد امّا به طور کامل پیکربندی نشده است. برای بررسی این که فرآیندهای سرور به درستی آغاز شدهاند یا نه، از دستور heroku ps استفاده کنید:
|
|
خروجی نشان میدهد که این پروژه در ماه آینده چهقدر دیگر میتواند فعّال بماند (۱). در زمان نگارش این مطلب هروکو به استقرارهای رایگان اجازه میدهد که حداکثر ۵۵۰ ساعت در ماه فعّال باشند. اگر پروژهای این حد را بگذراند یک صفحهی خطای سرور استاندارد نمایش داده خواهد شد؛ که آن را به زودی شخصی میکنیم. در ۲ میبینیم که فرآیند تعریفشده در Procfile شروع شده است.
حال میتوانیم به کمک دستور heroku open برنامه را در یک مرورگر باز کنیم:
این دستور شما را از باز کردن یک مرورگر و وارد کردن آدرسی که هروکو نشان داده خلاص میکند و این راهی دیگر برای باز کردن سایت است. شما باید صفحهی خانهی Learning Log را با شیوهی درست ببینید. با این حال هنوز نمیتوانید از آن استفاده کنید چون پایگاه داده را برپا نکردهاید.
برپا کردن پایگاه داده در هروکو
ما نیاز داریم که migrate را یک بار اجرا کنیم تا پایگاه دادهی در حال اجرا را برپا و تمام انتقالهایی را که طیّ توسعهی پروژه انجام دادهایم در آن اعمال کنیم. شما میتوانید به کمک دستور heroku run دستورهای جانگو و پایتون را روی پروژهی هروکو اجرا کنید. این روش اجرای migrate روی هروکو است:
|
|
ابتدا دستور heroku run python manage.py migrate را اجرا میکنیم (۱). هروکو سپس یک نشست ترمینال میسازد تا فرمان migrate را اجرا کنید (۲). در ۳ جانگو انتقال پیشفرض و دیگر انتقالهایی را که طی توسعهی پروژه ساخته شدهاند، اعمال میکند.
اگر اکنون برنامهی استقراریافتهی خود را ببینید، باید درست مثل آنچه در سیستم محلّی شما بود، بتوانید با آن کار کنید. امّا هیچکدام از دادههایی را که در سیستم محلّی وارد کردهاید، شامل حساب ابرکاربر خود، نخواهید دید زیرا آنها را به سرور در حال کار کپی نکردهاید. این عملکردی طبیعی است: شما معمولاً دادههای محلّی را به سرور در حال کار منتقل نمیکنید زیرا دادههای محلّی معمولاً دادههای آزمایشی هستند.
میتوانید پیوند هروکوی خود را همخوان کنید تا هر کس که خواست از برنامهی شما استفاده کند. در بخش بعدی چند کار دیگر را تکمیل میکنیم تا فرآیند استقرار تکمیل شود و شما را برای ادامه دادن به توسعهی Learning Log راه بیندازد.