راهنمای خط فرمان
Gerdoo CLI ابزار خط فرمان گردو برای کارهایی است که معمولاً از پنل انجام میدهید: ورود به حساب، دیدن پروژهها و سرویسها، دیپلوی مستقیم یک پوشه محلی، مدیریت متغیرهای محیطی، اتصال دامنه، مشاهده بیلدها و ریلیزها و بازگشت به نسخه قبلی (rollback)، مشاهده لاگ و کنترل سرویسهای PaaS. این ابزار برای پروژههایی مفید است که هنوز به GitHub یا GitLab وصل نشدهاند، یا وقتی میخواهید از CI/CD، اسکریپتهای داخلی یا ترمینال محلی دیپلوی انجام دهید. CLI فقط با API عمومی گردو کار میکند و توکن ورود را در تنظیمات کاربر ذخیره میکند.
نکات مهم
نصب پیشنهادی با یک دستور
روش پیشنهادی نصب این است: curl -fsSL https://get.gerdoo.cloud/install.sh | sh. اسکریپت نصب سیستمعامل و معماری را تشخیص میدهد، باینری مناسب را دانلود میکند و آن را در /usr/local/bin قرار میدهد. اگر دسترسی نوشتن مستقیم وجود نداشته باشد، فقط برای جابهجایی فایل از sudo استفاده میشود.
توکن و محل ذخیره تنظیمات
بعد از gerdoo login، توکن CLI در فایل ~/.config/gerdoo/config.json با دسترسی 0600 ذخیره میشود. برای محیط CI میتوانید به جای login از متغیر GERDOO_TOKEN استفاده کنید تا توکن روی دیسک نوشته نشود.
دیپلوی از پوشه محلی
در زمان deploy، پوشه پروژه به صورت tar.gz بستهبندی و آپلود میشود. پوشههای .git، node_modules، .gerdoo و فایل .DS_Store همیشه حذف میشوند. برای حذف مسیرهای دیگر از آپلود، فایل .gerdooignore بسازید.
مراحل پیشنهادی شروع با CLI
نصب CLI
دستور curl -fsSL https://get.gerdoo.cloud/install.sh | sh را اجرا کنید یا باینری مناسب سیستم خود را دستی دانلود و روی PATH قرار دهید.
ورود به حساب
gerdoo login را اجرا کنید و با ایمیل یا شماره موبایل و رمز عبور حساب گردو وارد شوید. سپس gerdoo whoami را برای بررسی حساب اجرا کنید.
اولین دیپلوی سرویس
در ریشه پروژه، فقط gerdoo deploy را اجرا کنید؛ CLI بهصورت خودکار سرویس را میسازد و یکبار تأیید میگیرد (با --yes رد میشود). بعد از موفق شدن، فایل .gerdoo/service.json پروژه را به سرویس ساختهشده لینک میکند.
تنظیم متغیرها و دیپلوی دوباره
اگر پروژه به متغیرهایی مثل DATABASE_URL یا SECRET_KEY نیاز دارد، آنها را با gerdoo env <slug> set KEY=VALUE وارد کنید و سپس gerdoo deploy را دوباره اجرا کنید.
پایش و عیبیابی
برای دیدن لاگ سرویس از gerdoo logs <slug> --tail 200 یا gerdoo service logs <slug> استفاده کنید و وضعیت را با gerdoo status <slug> بررسی کنید.