دیپلوی بر روی دارکوب
دیپلوی بر روی دارکوب
تا به اینجای کار، ما یک پروژه بالا آوردیم و به پایگاهداده متصل کردیم. همچنین آن را به سرویسهای سلری و سنتری نیز متصل کردیم. حال قصد داریم این پروژه را بر روی دارکوب دیپلوی کنیم. همانطور که گفتیم ما این کار را با استفاده از همگیت انجام خواهیم داد. شما میتوانید مستندات مربوط به دیپلوی کردن اپ بر روی دارکوب را از طریق این لینک مطالعه کنید.
به طور کلی شما باید همگیت خود را با کنسول همروش خود sync کنید تا ادامهی کار را دارکوب برای شما انجام دهد.
اگر به صفحهی ساخت اپ بروید، متوجه خواهید شد که باید یک Dockerfile برای پروژه خود بسازید و آدرسش را بدهید تا دارکوب بتواند پروژه شما را دیپلوی کند. در اینجا ما نحوهی ساخت داکرفایل را برای شما توضیح خواهیم داد، هرچند برای اطلاعات بیشتر میتوانید این لینک را نیز مشاهده کنید.
در ابتدا ما یک داکرفایل برای خود پروژه خواهیم ساخت (برای سلری و سایر چیزها در ادامه خواهیم ساخت.)
FROM python:3.10
WORKDIR /app/
ADD ./Codes/djangoProject ./
RUN pip install -r ./requirements.txt
RUN pip install --upgrade pip
ENTRYPOINT ["/bin/sh", "-c" , "python manage.py collectstatic --noinput && python manage.py migrate && gunicorn --bind 0.0.0.0:8000 djangoProject.wsgi"]
در اینجا ما گفته این که با استفاده از پایتون requirementsهای پروژه را نصب کرده و پروژه را بر روی پورت 8000 اجرا نماید. حال اگر دستور build و run را بزنیم پروژه run شده و بالا خواهد آمد.
حال از آنجایی که ما یک داکرفایل برای سلری پروژهمان نیز نوشتهایم، باید یک اپ نیز برای سلریمان داشته باشیم.
همانطور که بالاتر گفته بودیم، سلری ما نیاز دارد تا با یک broker در ارتباط باشد که ما برای کارمان از redis استفاده کردیم. درواقع worker سلری نیاز دارد تا از یک redis بخواند. پس حال که قصد داریم پروژه را روی دارکوب deploy کنیم پس باید در ابتدا یک ردیس بالا بیاوریم تا worker را به آن متصل کنیم.