دیپلوی (Deploy) یعنی چی؟ اولین دیپلوی، قدمبهقدم و ساده
دیپلوی یعنی بردن نسخه آماده پروژه از لپتاپت به جایی که همیشه روشنه تا بقیه ببیننش. اینجا ساده میگیم چی اتفاق میفته و اولین بار کجا گیر میکنی.

دیپلوی (Deploy) یعنی برداشتن نسخه آماده پروژهت از لپتاپ خودت و گذاشتنش روی یه کامپیوتر همیشهروشن، طوری که هر کسی با یه آدرس بتونه بازش کنه. هر بار هم که چیزی رو عوض میکنی و نسخه جدید رو میفرستی بالا، باز داری همین کار رو میکنی.
جواب کوتاه: آنلاین کردن چهار مرحله داره: آمادهسازی کد، فرستادنش، روشن کردنش روی اون کامپیوتر، و وصل کردن آدرس بهش. اولین بار معمولاً یکی از این چهار تا گیر میکنه، نه همهش.
یه مثال ساده: از آشپزخونه تا رستوران
فرض کن یه غذای جدید رو تو آشپزخونه خونهت درست کردی و جواب داده. حالا میخوای تو رستوران سرو کنی. کافی نیست بشقاب رو برداری ببری؛ باید مواد رو آماده کنی، ببری آشپزخونه رستوران، اونجا اجاق رو روشن کنی و تو منو هم اسمش رو بنویسی که مشتری پیداش کنه.
پروژهای که با AI ساختی هم همینطوره. رو لپتاپت کار میکنه، چون همه چیز همونجا آمادهست. آنلاین کردن یعنی همین جابهجایی به یه آشپزخونه دیگه، با اجاق و ابزارهای خودش.
اگه هنوز تصویر کلی آنلاین کردن برات روشن نیست، اول راهنمای سایتم رو با AI ساختم، حالا چطور آنلاینش کنم رو بخون. این مطلب فقط یه تیکه از اون مسیره.
موقع دیپلوی دقیقاً چه اتفاقی میفته؟
هر روشی که انتخاب کنی، زیرش همین چهار قدم اتفاق میفته.
۱. آمادهسازی (Build)
کدی که روش کار میکنی برای نوشتن راحته، نه برای اجرای سریع. آمادهسازی یا Build یعنی ابزارها کدت رو فشرده و مرتب میکنن و یه نسخه نهایی میسازن. تو پروژههای جاوااسکریپتی معمولاً با این دستور:
npm run build
اگه این مرحله رو لپتاپ خودت خطا بده، جای دیگه هم خطا میده. پس اول همینجا امتحانش کن.
۲. فرستادن کد
نسخه آماده باید برسه به اون کامپیوتر همیشهروشن. گاهی خودت فایلها رو میفرستی، گاهی اونجا خودش کد رو برمیداره و آمادهسازی رو همونجا انجام میده.
۳. روشن کردن
یه سایت ساده که فقط چند صفحه ثابت داره، لازم نیست «روشن» بشه؛ فایلهاش رو همونجا نشون میدن. ولی اگه پروژهت فرم، ورود کاربر یا دیتابیس داره، یه برنامه باید اونجا مدام در حال اجرا باشه. اگه این برنامه بیفته، سایت هم میفته.
۴. وصل کردن آدرس
آخر کار، اسم سایتت (دامنه) باید به همون کامپیوتر اشاره کنه. تا این وصل نشه، سایت روشنه ولی کسی راهش رو پیدا نمیکنه.
اولین بار معمولاً چی خراب میشه؟
اینجاست که بیشتر آدمها ناامید میشن، ولی مشکلها تقریباً همیشه همین چند تان:
- تنظیمات جا مونده. کلیدهای سرویسها و رمز دیتابیس معمولاً تو یه فایل به اسم
.envرو لپتاپت هستن و خودبهخود جابهجا نمیشن. باید جداگونه اونجا هم تعریفشون کنی. دربارهش تو کلید API و فایل .env رو کجا نگه دارم مفصل نوشتیم. - نسخه ابزارها فرق داره. رو لپتاپت یه نسخه Node یا Python نصبه، اونجا یه نسخه دیگه. نتیجهش خطاهای عجیبیه که رو سیستم خودت هیچوقت ندیدی.
- دیتابیس هنوز رو لپتاپته. سایت بالا میاد، ولی خالیه یا با اولین کلیک خطا میده.
- مسیر فایلها و حروف بزرگ و کوچیک. بعضی سیستمها
Logo.pngوlogo.pngرو یکی میدونن و بعضی نه. رو لپتاپ کار میکنه، اونجا عکس نمیاد. - برنامه بعد از مدتی خاموش میشه. اگه کسی حواسش نباشه که برنامه بعد از خطا یا ریاستارت دوباره روشن بشه، سایت یهو از دسترس خارج میشه.
اگه با یکی از اینها روبهرو شدی، مطلب روی لپتاپم کار میکنه ولی آنلاین نه قدمبهقدم کمکت میکنه علتش رو پیدا کنی.
یه چکلیست کوتاه برای اولین بار
قبل از اینکه شروع کنی، اینها رو مرور کن:
- آمادهسازی (
npm run buildیا معادلش) رو رو لپتاپ خودت بدون خطا اجرا کن. - همه تنظیمهای فایل
.envرو یه جا یادداشت کن، ولی این فایل رو هیچوقت عمومی نکن. - از همون ابزار AI که پروژه رو باهاش ساختی بپرس: «این پروژه برای اجرا به چه نسخهای از چه ابزارهایی نیاز داره؟»
- قبل از هر آنلاین کردن، خودت یه نسخه از کد و دیتابیس جایی جدا نگه دار.
- بعد از آنلاین شدن، سایت رو رو گوشی و از یه اینترنت دیگه هم باز کن.
اولین بار سختترین باره. دفعههای بعد همین مسیر تکرار میشه و خیلی سریعتر پیش میره. اگه هم ترجیح میدی این بخش با کس دیگهای باشه، ما تو xdea سایت رو برات راهاندازی میکنیم یا از جای قبلی منتقلش میکنیم.
سوالهای پرتکرار
دیپلوی با هاست چه فرقی داره؟
هاست همون جاییه که سایتت روش روشنه. دیپلوی کاریه که نسخه پروژهت رو به اونجا میبره. یکی مکانه، اون یکی جابهجا کردن.
هر بار که کدم رو عوض میکنم باید دوباره این کار رو بکنم؟
آره. هر تغییری که بخوای کاربرها ببینن، باید دوباره فرستاده بشه. برای همینه که خیلیها بعد از چند بار سراغ روش گیت میرن که این کار خودکار بشه.
اگه وسط کار خراب بشه، سایتم از دست میره؟
اگه نسخه قبلی کد و دیتابیس رو خودت جایی نگه داشته باشی، نه. میتونی همون نسخه قبلی رو دوباره بفرستی بالا. بدون نسخه قبلی، برگشتن خیلی سختتره.
خلاصه
- دیپلوی یعنی بردن نسخه آماده پروژه به جایی که همیشه روشنه و همه میبیننش.
- چهار قدم داره: آمادهسازی، فرستادن، روشن کردن و وصل کردن آدرس.
- سه راه رایج: آپلود فایل، از روی گیت و کانتینر؛ برای پروژهای که مرتب آپدیت میشه، گیت راحتتره.
- بیشتر خرابیهای بار اول از تنظیمات جامونده و فرق نسخه ابزارهاست، نه از خود کد.
قدم بعدی بعد از روشن شدن سایت، وصل کردن اسمشه؛ دربارهش تو دامنه و DNS برای کسی که اپ ساخته نوشتیم.