از کد تا دیپلوی

دسته‌بندی نشده
علاقه‌مندی‌ها هم‌رسانی
Cloudflare Stream

تریلر ورکشاپ هنوز آپلود نشده است. برای افزودن ویدیو، شناسه Cloudflare Stream را در تنظیمات درس وارد کنید.

درباره دوره

در این ورکشاپ یک اپلیکیشن واقعی را از روی سیستم Local برمی‌داریم و تا یک محیط Production واقعی روی VPS می‌بریم: Docker، GitHub، امن‌سازی سرور، دامنه، HTTPS و در نهایت Deploy اتوماتیک با CI/CD.

سرفصل‌های ورکشاپ

شروع پروژه و آماده‌سازی محیط
در فصل اول با پروژه‌ای که قرار است در طول ورکشاپ Deploy کنیم آشنا می‌شویم. ابتدا پروژه را بدون Docker روی سیستم Local اجرا می‌کنیم تا ساختار و وابستگی‌های آن را بشناسیم. بعد قدم‌به‌قدم پروژه را Dockerize می‌کنیم و با Docker Compose محیط موردنیاز اپلیکیشن را می‌سازیم. در پایان این فصل باید بتوانیم کل پروژه را به‌صورت Containerized روی سیستم خودمان اجرا کنیم.

  • معرفی ورکشاپ و پروژه
    00:00
  • اجرای پروژه روی Local بدون Docker
    00:00
  • Dockerize کردن اپلیکیشن
    00:00
  • ساخت Docker Compose
    00:00
  • اجرای کامل پروژه با Docker روی Local
    00:00

GitHub و آماده‌سازی زیرساخت
حالا که پروژه با Docker اجرا می‌شود، سورس کد را وارد GitHub می‌کنیم و زیرساخت Production را آماده می‌کنیم. در این فصل یک VPS واقعی تهیه می‌کنیم و اولین اتصال امن به سرور را انجام می‌دهیم. این فصل پلی است بین محیط Local و سروری که قرار است اپلیکیشن واقعی روی آن اجرا شود.

امن‌سازی و آماده‌سازی سرور Ubuntu
قبل از Deploy کردن اپلیکیشن، سرور باید برای استفاده واقعی آماده شود. در این فصل تنظیمات امنیتی اولیه SSH را انجام می‌دهیم، دسترسی‌های غیرضروری را می‌بندیم، Firewall سرور را تنظیم می‌کنیم و Docker را روی VPS نصب می‌کنیم. هدف این فصل امنیت پیشرفته Linux نیست؛ هدف، امنیت پایه‌ای و عملی‌ای است که قبل از میزبانی اپلیکیشن لازم داریم.

Deploy واقعی پروژه روی VPS
در این فصل وارد بخش اصلی ورکشاپ می‌شویم. سرور را به GitHub متصل می‌کنیم، سورس پروژه را روی VPS دریافت می‌کنیم، تنظیمات مخصوص Production را آماده می‌کنیم و برای اولین بار اپلیکیشن واقعی خودمان را با Docker روی سرور اجرا می‌کنیم. در پایان این فصل، اپلیکیشن واقعاً روی VPS در حال اجراست.

دامنه، DNS و HTTPS
اپلیکیشن ما روی سرور اجرا شده، ولی هنوز می‌خواهیم کاربران از طریق یک دامنه واقعی و اتصال امن به آن دسترسی داشته باشند. در این فصل دامنه را به VPS متصل می‌کنیم، DNS را تنظیم می‌کنیم و HTTPS را برای محیط Production فعال می‌کنیم. همچنین مشکلات واقعی‌ای که ممکن است هنگام در دسترس قرار دادن سایت رخ دهد بررسی و رفع می‌کنیم.

CI/CD و Deploy اتوماتیک
تا اینجا Deploy پروژه به‌صورت دستی انجام شده است. در فصل آخر این فرآیند را اتوماتیک می‌کنیم. ابتدا می‌بینیم CI/CD چه مشکلی را حل می‌کند و چرا به Secrets احتیاج داریم، سپس Pipeline را پیاده‌سازی می‌کنیم تا با Push کردن نسخه جدید پروژه، Deploy روی سرور به‌صورت اتوماتیک انجام شود.