NX

ان‌ایکس (Nx) یک سیستم ساخت (Build System) هوشمند، سریع و توسعه‌پذیر است که به طور ویژه برای مدیریت پروژه‌های Monorepo (نگهداری چندین اپلیکیشن و کتابخانه در یک مخزن واحد) طراحی شده است. این ابزار با استفاده از قابلیت‌هایی مانند کشینگ پیشرفته و تحلیل دقیق گراف وابستگی‌ها، فرایند کامپایل و تست برنامه‌ها را به شدت تسریع می‌کند. Nx به شما اجازه می‌دهد فریم‌ورک‌های مختلفی مانند React، Angular، Vue و Node.js را در یک فضای کاری یکپارچه مدیریت کنید.

پلتفرم ابری پارس‌پک با پشتیبانی از معماری پیچیده Nx، محیطی قدرتمند برای بیلد و استقرار این پروژه‌ها فراهم کرده است تا بدون درگیری با تنظیمات سرور، پروژه‌های Monorepo شما با بالاترین سرعت کامپایل و مستقر شوند.

مراحل استقرار

برای آموزش گام‌به‌گام ساخت اپلیکیشن، به راهنمای «استقرار از طریق سورس‌کد (زبان‌ها)» مراجعه کنید. همچنین برای تنظیمات زیرساختی نیز به بخش مدیریت اپلیکیشن مراجعه کنید:

پیش‌نیازها و استقرار کد

برای اینکه پروژه مونوریپو شما به درستی توسط موتور استقرار پارس‌پک شناسایی و دیپلوی شود، رعایت استانداردهای زیر در سورس‌کد و تنظیمات الزامی است:

  • عدم آپلود وابستگی‌ها: اکیدا از آپلود پوشه node_modules در سورس‌کد یا فایل زیپ خودداری کنید. این پوشه در مرحله بیلد به صورت خودکار توسط پلتفرم نصب می‌شود.

  • فایل‌های ساختاری الزامی: وجود دو فایل package.json و nx.json در مسیر ریشه اجرا (context_dir) کاملا اجباری است تا ابزار ساخت Nx بتواند فضای کاری را شناسایی کند.

  • ساختار معتبر اسکریپت‌ها: محتوای package.json می‌بایست کاملا صحیح بوده و اسکریپت‌های (Scripts) مربوط به بیلد و اجرای پروژه‌ها به صورت دقیق در آن تعریف شده باشند.

  • تخصیص منابع (Build Phase): با توجه به ماهیت مونوریپو بودن پروژه‌های Nx و تحلیل گراف وابستگی‌ها، این اپلیکیشن‌ها در مرحله کامپایل (Build) نیازمند منابع پردازشی قدرتمندی هستند. سقف رم (RAM) و پردازنده (CPU) را متناسب با حجم کل فضای کاری تخصیص دهید تا فرایند بیلد بدون خطای کمبود حافظه (Out of Memory) طی شود.

  • پارامترهای پایه: امکان تنظیم پورت اجرای برنامه، نسخه Node.js سازگار و مسیر ریشه اجرای پروژه (context_dir) در زمان استقرار از طریق پنل فراهم است.

متغیرهای محیطی (Env Vars)

متغیرهای محیطی برای مدیریت رفتار برنامه و حفظ امنیت داده‌ها استفاده می‌شوند. با توجه به اینکه Nx می‌تواند به صورت هم‌زمان پروژه‌های فرانت‌اند و بک‌اند را مدیریت کند، مقادیر خود را در پنل داشبورد وارد نمایید تا بر اساس معماری پروژه، در فرآیند کامپایل (برای برنامه‌های کلاینت‌ساید) یا در زمان اجرا (برای میکروسرویس‌ها و برنامه‌های وب) به درستی در کانتینرها تزریق شوند. متغیرهای بخش بک‌اند در زمان اجرا از طریق آرایه استاندارد process.env در دسترس خواهند بود.

نکته: برای آموزش گام‌به‌گام نحوه تعریف متغیرهای اختصاصی، ConfigMapها و Secretها در داشبورد، به مستندات متغیرهای محیطی مراجعه کنید.

تنظیمات دامنه

جهت اختصاص دامنه شخصی به سرویس خود برای دسترسی عمومی کاربران، به راهنمای تنظیمات دامنه و IP مراجعه کنید.

وب‌هوک

جهت پیاده‌سازی اتوماسیون و دیپلوی خودکار کدهای جدید با هر بار Push در مخزن گیت، مستندات وب‌هوک را بررسی کنید.

مشاهده لاگ‌ها

خروجی‌های استاندارد برنامه و خطاهای مرحله بیلد به‌صورت یکپارچه مانیتور می‌شوند. برای عیب‌یابی اپلیکیشن خود به مستندات لاگ‌ها مراجعه نمایید.