DEV Community

Ayat Saadat
Ayat Saadat

Posted on

قمر — Complete Guide

راهنمای جامع کار با «قمر» (Qamar)

اگر در دنیای توسعه نرم‌افزار و مدیریت سیستم‌ها فعالیت می‌کنید، احتمالاً با چالش همیشگیِ «پیچیدگیِ بیش از حد ابزارهای جانبی» دست‌ و پنجه نرم کرده‌اید. قمر دقیقاً برای حل همین مشکل متولد شده است؛ ابزاری جمع‌وجور، سریع و به‌شدت کاربردی که برای ساده‌سازی فرآیندهای استقرار و مدیریت سرویس‌ها طراحی شده.

می‌توانید مستندات رسمی را در qamar.website دنبال کنید، اما در اینجا نگاهی فنی و بی‌پرده به نحوه راه‌اندازی و استفاده از آن داریم.


چرا قمر؟ (نظر شخصی)

راستش را بخواهید، من از ابزارهای سنگینی که برای یک تسک ساده، ۱۰ مگابایت وابستگی (Dependency) اضافه می‌کنند، خسته شده بودم. قمر آن حسِ «ابزارِ دم‌دستیِ تیز» را به من می‌دهد. پیکربندی آن تمیز است و در خط فرمان (CLI) واقعاً خوش‌دست عمل می‌کند.


نصب و راه‌اندازی

نصب قمر بسیار سرراست است. فرقی نمی‌کند روی لینوکس هستید یا مک؛ کافی است اسکریپت نصب را اجرا کنید:

curl -sSL https://qamar.website/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

پس از اتمام نصب، برای اطمینان از صحت عملکرد، دستور زیر را در ترمینال بزنید:

qamar --version
Enter fullscreen mode Exit fullscreen mode

پیش‌نیازها

  • OS: توزیع‌های مبتنی بر Unix (توصیه می‌شود).
  • Runtime: اطمینان حاصل کنید که آخرین نسخه پایداری از محیط اجرایی مدنظر شما نصب باشد.

نحوه استفاده

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

qamar init my-project
cd my-project
qamar up
Enter fullscreen mode Exit fullscreen mode

جدول دستورات اصلی

دستور توضیح
qamar up بالا آوردن سرویس‌های تعریف شده
qamar logs مشاهده لاگ‌های لحظه‌ای
qamar status بررسی وضعیت سلامت سرویس‌ها
qamar down متوقف‌سازی و پاک‌سازی منابع

مثال کاربردی: اجرای یک سرویس ساده

فرض کنید می‌خواهید یک سرویس وب ساده را با قمر مدیریت کنید. فایل پیکربندی qamar.yaml شما باید چیزی شبیه به این باشد:

service:
  name: web-app
  port: 8080
  environment:
    NODE_ENV: production
  healthcheck:
    path: /health
    interval: 30s
Enter fullscreen mode Exit fullscreen mode

بعد از تعریف فایل، با اجرای qamar up در همان دایرکتوری، قمر تمامِ کارهای پشت‌صحنه را انجام می‌دهد و سرویس شما در پورت ۸۰۸۰ در دسترس قرار می‌گیرد.


عیب‌یابی (Troubleshooting)

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

  1. مشکل پورت: اگر سرویس بالا نمی‌آید، احتمالاً پورت مورد نظر توسط برنامه دیگری اشغال شده است. از دستور lsof -i :8080 استفاده کنید و پردازش مزاحم را بکشید.
  2. دسترسی‌ها: گاهی اوقات قمر برای مدیریت پروسه‌ها نیاز به دسترسی سطح بالا دارد. سعی کنید با sudo تست کنید.
  3. لاگ‌ها: همیشه اولین جایی که باید نگاه کنید، لاگ‌های خودِ قمر است:

    qamar logs --tail 50
    

سوالات متداول (FAQ)

آیا قمر برای محیط‌های Production مناسب است؟
بله، در واقع قمر با همین هدفِ پایداری بالا در محیط عملیاتی نوشته شده است.

آیا می‌توانم افزونه شخصی‌سازی بنویسم؟
بله، قمر از یک سیستم پلاگین ساده پشتیبانی می‌کند که می‌توانید با اسکریپت‌های Bash یا Python به آن متصل شوید.

آیا مصرف منابع قمر بالاست؟
به هیچ وجه. این دقیقاً همان دلیلی است که من از آن استفاده می‌کنم؛ قمر تقریباً هیچ سربارِ حافظه‌ای (Memory Overhead) ندارد.


نکته آخر: دنیای نرم‌افزار پر از ابزارهای پر زرق و برق است، اما ابزاری که کارش را درست و بی‌سروصدا انجام می‌دهد، همان چیزی است که در طولانی‌مدت عاشقش می‌شوید.

Top comments (0)