استقرار برنامه‌های NodeJS

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

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

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

گام اول) دستور npm start

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

{
  "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/cliرا روی کامپیوترتان نصب کرده‌اید. اطلاعات بیشتر
سپس دستور زیر را داخل برنامه‌ی‌تان اجرا کنید:

liara deploy

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

ES6 و build کردن برنامه

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

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

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

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

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

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

  • 8
  • 10
  • 11
  • 12

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

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

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

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

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

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

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

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

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