استقرار پروژه‌های 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"
  }
}

گزارش مشکلات امنیتی پکیج‌های نصب شده با npm

قابل انکار نیست که تعداد پکیج‌های npm بسیار زیاد هستند و برخی از آن‌ها هم ممکن است دارای مشکلات امنیتی باشند و بسیاری از این مشکلات امنیتی هم بعدها در نسخه‌های جدیدی که ارائه می‌کنند رفع می‌شود. اما شما چگونه می‌توانید مطمئن شوید که نسخه‌ی فعلی پکیج‌هایی که نصب کرده‌اید دارای مشکل هستند یا نه؟ چگونه می‌توانید متوجه شوید که آیا راه حلی هم برای این مشکل وجود دارد یا نه؟

لیارا می‌تواند گزارشات کاملی را درباره مشکلات امنیتی پروژه‌ی‌تان در پنل کاربری به شما نمایش دهد. فقط کافی است که در فایلliara.jsonپروژه‌ی خود، npmAuditرا برابر true قرار دهید. این قابلیت به صورت پیش‌فرض غیر فعال است. برای نمونه:

{
  "port": 3000,
  "node": {
    "version": "10",
    "npmAudit": true
  }
}

و حالا از این پس هر بار که دستورliara deployرا برای استقرار و بروزرسانی پروژه‌ی‌تان وارد کنید، گزارش امنیتی نیز برای‌تان قابل مشاهده خواهد بود.

صفحه‌ی گزارشات امنیتی

تنظیم منطقه‌ی زمانی (TimeZone)

به صورت پیش‌فرض، منطقه‌ی زمانی بر روی Asia/Tehran تنظیم شده است. برای تغییر مقدار پیش‌فرض، می‌توانید از پارامترtimezoneدر فایلliara.jsonاستفاده کنید. برای نمونه:

{
  "port": 3000,
  "node": {
    "version": "10",
    "timezone": "America/Los_Angeles"
  }
}