استقرار پروژه‌های NodeJS

ما هم مثل شما عاشق NodeJS هستیم :)
پروژه‌ی شما باید دارای فایلpackage.jsonباشد تا بتواند در لیارا مستقر شود.

انتخاب نسخه‌ی NodeJS

به‌صورت پیش‌فرض، پروژه‌ی شما روی نسخه‌ی 10 این پلتفرم اجرا می‌شود. می‌توانید یک فایل با نامliara.jsonداخل پروژه‌ی‌تان بسازید و نسخه‌ی مدنظرتان را به شکل زیر تعیین کنید. سپس بعد از یک بار دیپلوی، پروژه‌ی شما روی نسخه‌ی تعیین شده اجرا خواهد شد.

{
  "node": {
    "version": "12"
  }
}

در حال حاظر، از نسخه‌های زیر پشتیبانی می‌شود:

  • 8
  • 10
  • 11
  • 12

پکیج‌ها به صورت خودکار نصب می‌شوند

لیارا به صورت خودکار پکیج‌هایی که در فایلpackage.jsonلیست شده‌اند را برای شما نصب می‌کند. پس نیازی ندارید که دنبال اجرای دستورnpm installباشید. از آن‌جایی که اجرای این دستور زمان‌بر است، برای سرعت بیشتر، این دستور را روی سرورهای قدرتمندمان اجرا می‌کنیم تا زمان زیادی را منتظر نمانید.

دستور npm start

داخل فایلpackage.jsonیک فیلد با نامscriptsوجود دارد. شما باید حتما یک اسکریپت در این بخش با نامstartتعریف کنید.

نمونه‌ی فایل package.json

{
  "name": "app",
  "version": "0.1.0",
  "description": "My application",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "4"
  }
}

بعد از این‌که پروژه‌ی شما آپلود شد، لیارا برای شما دستورnpm startرا اجرا می‌کند. شما باید داخل این اسکریپت، دستوری بنویسید که باعث اجرا شدن برنامه‌ی‌تان شود. مثلا اگر یک فایلserver.jsدر پروژه‌ی‌تان وجود دارد که باید توسط node اجرا شود، بایدnode server.jsرا داخل فیلدstartقرار دهید. (مانند نمونه‌ی بالا)

مشخص کردن Port

لیارا باید بداند که پروژه‌ی شما روی چه پورتی اجرا خواهد شد تا بتواند درخواست‌هایی که به سمت برنامه‌ی شما می‌آیند را به درستی هدایت کند.

CLI هر بار که بخواهید مستقر کردن را انجام دهید، از شما پورت را می‌پرسد.
اما شما می‌توانید یک فایلliara.jsonداخل پروژه‌ی‌تان تعریف کرده و پورت را داخل آن وارد کنید:

{
  "port": 3000
}

در این مثال، فرض بر این بوده‌است که پروژه‌ی شما روی پورت ۳۰۰۰ اجرا خواهد شد. شما باید به جای این پورت، پورتی که برنامه‌ی‌تان در آن اجرا خواهد شد را وارد نمایید.

آغاز عملیات استقرار

و حالا که تقریبا تمامی تنظیمات اولیه را انجام داده‌ایم، می‌توانیم عملیات استقرار (deployment) را آغاز کنیم.
دستور زیر را داخل پروژه‌ی‌تان اجرا کنید:

liara deploy

و تمام! تبریک می‌گوییم. شما پروژه‌ی‌تان را با موفقیت در بستر ابری ما مستقر کردید.

ES6 و build کردن پروژه

اگر پروژه‌ی‌تان را با ES6 و یا بالاتر نوشته‌اید و برنامه‌ی‌تان قبل از اجرا شدن، نیاز به build شدن دارد، باید یک اسکریپت دیگر با نامbuildتعریف کنید و دستورات لازم برای build شدن پروژه‌ی‌تان را داخلش تعریف کنید.
برای نمونه:

{
  "scripts": {
    "start": "node build/server.js",
    "build": "gulp build"
  }
}