مرجع کامل دستورها
مرجع کامل دستورها
همهٔ دستورها با ساختار gerdoo <command> [subcommand] [args] [flags] اجرا میشوند. هر جا <slug|id> آمده، میتوانید نام کوتاه (slug) یا شناسهٔ سرویس را بدهید. دستورهای فهرست/نمایش، فلگ --json را میپذیرند تا خروجی خام API چاپ شود (مناسب اسکریپت و CI). متغیرهای محیطی GERDOO_API و GERDOO_TOKEN آدرس API و توکن را بازنویسی میکنند.
احراز هویت و حساب
ورود به حساب گردو و مدیریت توکن CLI. توکن در ~/.config/gerdoo/config.json ذخیره میشود.
gerdoo login [--no-browser] [--token <grd_...>] [--password] [--api <url>]ورود از طریق مرورگر: CLI یک کد کوتاه نمایش میدهد، صفحهٔ تأیید گردو را باز میکند و پس از تأیید شما توکن CLI را دریافت میکند. رمز عبور در ترمینال وارد نمیشود.
| فلگ | توضیح |
|---|---|
--no-browser | بهجای باز کردن مرورگر، فقط آدرس تأیید را چاپ کن (مناسب ماشین راه دور). |
--token <grd_...> | یک توکن موجود را اعتبارسنجی و ذخیره کن (مناسب CI و دستیارها). |
--password | روش قدیمی: ورود با ایمیل/موبایل و رمز عبور (برای محیطهای بدون مرورگر). |
--api <url> | آدرس API برای اتصال (پیشفرض https://api.gerdoo.cloud ). |
gerdoo logoutحذف توکن و فایل تنظیمات ذخیرهشده.
gerdoo whoamiنمایش حساب واردشدهٔ فعلی (نام، ایمیل، شماره).
پروژهها (Workspaces)
پروژه، فضای کاریای است که سرویسها، محیطها و دامنهها را گروهبندی میکند.
gerdoo projects [--json]فهرست پروژههای شما همراه با تعداد سرویسها و سرورها.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API بهجای جدول. |
gerdoo project get <slug|id> [--json]نمایش جزئیات یک پروژه شامل سرویسها و دامنهها.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo project create --name <n> [--description <d>]ساخت یک پروژهٔ جدید.
| فلگ | توضیح |
|---|---|
--name <n> | نام پروژه (الزامی). |
--description <d> | توضیح اختیاری پروژه. |
gerdoo project update <slug|id> [--name <n>] [--description <d>]ویرایش نام یا توضیح پروژه.
| فلگ | توضیح |
|---|---|
--name <n> | نام جدید پروژه. |
--description <d> | توضیح جدید پروژه. |
gerdoo project delete <slug|id>حذف پروژه (با تأیید تعاملی؛ ابتدا باید سرویسها و منابع آن حذف شوند).
محیطها (Environments)
محیطهای یک پروژه (production/staging/preview) و متغیرهای آنها. شناسهٔ محیط را با نام یا id بدهید.
gerdoo project env <project> list [--json]فهرست محیطهای یک پروژه.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo project env <project> create [flags]ساخت محیط جدید در پروژه.
| فلگ | توضیح |
|---|---|
--name <n> | نام محیط (پیشفرض: مقدار type). |
--type <t> | نوع محیط: production | staging | preview (پیشفرض staging). |
--branch <b> | شاخهٔ گیت منبع. |
--auto-deploy | دیپلوی خودکار با هر push (پیشفرض روشن). |
gerdoo project env <project> get <env> [--json]نمایش جزئیات یک محیط.
gerdoo project env <project> update <env> [flags]ویرایش یک محیط.
| فلگ | توضیح |
|---|---|
--name <n> | نام جدید محیط. |
--branch <b> | شاخهٔ گیت منبع. |
--auto-deploy | روشن/خاموش کردن دیپلوی خودکار. |
gerdoo project env <project> delete <env>حذف یک محیط (محیط production قابل حذف نیست).
gerdoo project env <project> vars <env> [--json]فهرست متغیرهای محیط (مقادیر ماسکشده).
gerdoo project env <project> vars <env> set KEY=VALUE [--build-time]افزودن یا ویرایش متغیر محیط.
| فلگ | توضیح |
|---|---|
--build-time | تزریق متغیر در زمان بیلد علاوه بر ران تایم. |
gerdoo project env <project> vars <env> rm KEY [KEY...]حذف یک یا چند متغیر محیط.
سرویسها — فهرست و ساخت
gerdoo services [--json]فهرست همهٔ سرویسها (گیت و ایمیج).
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo service create --name <n> --image <img> [flags]ساخت سرویس از یک ایمیج Docker آماده.
| فلگ | توضیح |
|---|---|
--name <n> | نام سرویس (الزامی). |
--image <img> | ایمیج Docker برای اجرا (الزامی). |
--expose <mode> | نوع دسترسی: http | tcp | private. |
--private | خصوصیکردن سرویس (معادل —expose private). |
--port N | پورت داخلی برای expose (۰ = پیشفرض ایمیج). |
--env K=V | متغیر محیطی (قابل تکرار). |
--project <slug|id> | پروژهٔ مقصد (پیشفرض Default). |
دیپلوی از پوشهٔ محلی
ساخت یا بهروزرسانی یک سرویس همیشهروشن از سورس محلی. بدون فلگ کار میکند.
gerdoo deploy [dir]بستهبندی و آپلود پوشه (پیشفرض «.»)؛ سرویس لینکشده را بهروزرسانی میکند یا در نبود آن سرویس جدید میسازد.
| فلگ | توضیح |
|---|---|
--service <slug|id> | دیپلوی روی این سرویس مشخص (بهجای لینک .gerdoo). |
--name <n> | نام سرویس جدید (پیشفرض: نام پوشه). |
-y, --yes | رد شدن از تأیید تعاملی هنگام ساخت سرویس جدید. |
--project <slug|id> | پروژهٔ مقصد برای سرویس جدید (پیشفرض Default). |
--private | خصوصیکردن سرویس. |
--port N | پورت داخلی (پیشفرض: مقدار $PORT برنامه). |
--framework <name> | راهنمای تشخیص استک برای بیلد. |
--env K=V | متغیر محیطی (قابل تکرار). |
gerdoo service deploy [dir]نام مستعار «gerdoo deploy» با همان فلگها.
سرویسها — پیکربندی و چرخهٔ حیات
gerdoo service status <slug|id>وضعیت، URL، endpoint خام TCP و مصرف زندهٔ CPU/حافظه.
gerdoo service logs <slug|id> [--tail N]آخرین خطوط لاگ کانتینر.
| فلگ | توضیح |
|---|---|
--tail N | تعداد خطوط لاگ (پیشفرض ۲۰۰). |
gerdoo service stop <slug|id>توقف سرویس در حال اجرا (وضعیت stopped؛ Volumeها حفظ میشوند).
gerdoo service start <slug|id>راهاندازی مجدد سرویس متوقفشده.
gerdoo service restart <slug|id>ریاستارت سرویس در حال اجرا (بدون تغییر وضعیت پایدار).
gerdoo service update <slug|id> [flags]بهروزرسانی ایمیج/شاخه/متغیرها؛ تغییر ایمیج یا متغیر باعث بازسازی سرویس میشود.
| فلگ | توضیح |
|---|---|
--image <img> | ایمیج Docker جدید. |
--branch <b> | تغییر شاخهٔ گیت (سرویسهای گیت). |
--auto-deploy | روشن/خاموش کردن دیپلوی خودکار با push. |
--env-set K=V | افزودن/ویرایش متغیر env سرویس (قابل تکرار). |
--env-rm K | حذف متغیر env سرویس (قابل تکرار). |
gerdoo service delete <slug|id>حذف کامل سرویس (با تأیید تعاملی).
متغیرهای محیطی
دو انبار جدا: «env» نقشهٔ سادهٔ سرویس است و «vars» انبار متغیر تایپدار با پشتیبانی از build-time و secret.
gerdoo service env <slug|id>فهرست متغیرهای نقشهٔ env سرویس.
gerdoo service env <slug|id> set KEY=VALUE [...]افزودن/ویرایش یک یا چند متغیر env (سرویس بازسازی میشود).
gerdoo service env <slug|id> rm KEY [...]حذف یک یا چند متغیر env.
gerdoo service vars <slug|id> [--json]فهرست انبار متغیر تایپدار همراه با نشانههای build/secret.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo service vars <slug|id> set KEY=VALUE [flags]افزودن/ویرایش متغیر در انبار تایپدار.
| فلگ | توضیح |
|---|---|
--build-time | تزریق در زمان بیلد علاوه بر ران تایم. |
--secret | ذخیره بهصورت محرمانه (مقدار ماسک میشود). |
gerdoo service vars <slug|id> rm KEY [...]حذف یک یا چند متغیر از انبار تایپدار.
دامنههای اختصاصی
gerdoo service domains <slug|id> [--json]فهرست دامنههای اختصاصی و رکوردهای DNS موردنیاز.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo service domains <slug|id> add <domain>افزودن دامنهٔ اختصاصی (فقط سرویسهای http) و نمایش رکوردهای DNS.
gerdoo service domains <slug|id> verify <domain|id>بررسی رکورد TXT و تأیید مالکیت دامنه.
gerdoo service domains <slug|id> rm <domain|id>حذف دامنهٔ اختصاصی.
بیلدها، ریلیزها و بازگشت
gerdoo service builds <slug|id> [--json]فهرست بیلدهای اخیر سرویس.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo service builds <slug|id> logs <buildId>نمایش لاگ یک بیلد مشخص.
gerdoo service releases <slug|id> [--json]فهرست ریلیزهای اخیر سرویس.
| فلگ | توضیح |
|---|---|
--json | چاپ پاسخ خام API. |
gerdoo service rollback <slug|id> <buildId>بازگشت سرویس به یک بیلد آمادهٔ قبلی بدون بیلد دوباره.
فایلهای دیسک (Volumes)
gerdoo service files <slug|id> [path] [--volume <mount|id>]مرور فایلهای یک volume.
| فلگ | توضیح |
|---|---|
--volume <mount|id> | انتخاب volume بر اساس مسیر mount یا id (پیشفرض: تنها volume). |
gerdoo service pull <slug|id> <remote-path> [flags]دانلود یک فایل از volume.
| فلگ | توضیح |
|---|---|
-o <local> | مسیر خروجی محلی (پیشفرض: نام فایل). |
--volume <mount|id> | انتخاب volume. |
gerdoo service push <slug|id> <local-file> [flags]آپلود یک فایل محلی به volume.
| فلگ | توضیح |
|---|---|
--dir <path> | پوشهٔ مقصد داخل volume (پیشفرض «/»). |
--volume <mount|id> | انتخاب volume. |
میانبرها و ابزار
gerdoo logs <slug|id> [--tail N] [--since 10m] [--grep <pat>] [--level error|warn|info] [--invert]میانبر «gerdoo service logs» با امکان فیلتر کردن خروجی.
| فلگ | توضیح |
|---|---|
--tail N | حداکثر تعداد خطی که بررسی میشود (پیشفرض ۲۰۰، حداکثر ۲۰۰۰). |
--since | فقط لاگهای جدیدتر از این بازه: 10m، 2h یا یک زمان RFC3339. |
--grep | فقط خطوط منطبق با این الگو (بدون حساسیت به بزرگی و کوچکی حروف). |
--level | فقط خطوط با شدت error، warn یا info و بالاتر. |
--invert | برعکس: خطوط نامنطبق نگه داشته میشوند. |
هنگام فیلتر کردن، تعداد خطوط منطبق از کل خطوط بررسیشده هم گزارش میشود تا مشخص باشد لاگی وجود نداشته یا فیلتر چیزی پیدا نکرده است.
gerdoo service exec <slug|id> <command...> [--timeout N]اجرای یک دستور تکمرحلهای داخل کانتینر در حال اجرا و چاپ خروجی آن — برای پرسیدن سؤالی که از لاگ بهدست نمیآید (مقدار واقعی یک متغیر محیطی، وجود یک فایل بیلدشده و…). سرویس باید در حال اجرا باشد.
دستورهای حذفشده
میانبرهای gerdoo apps، gerdoo status، gerdoo open و gerdoo env حذف شدهاند؛ هرکدام نام دومی برای یک زیرفرمان gerdoo service بودند. بهجای آنها از gerdoo services، gerdoo service status، gerdoo service open و gerdoo service env استفاده کنید. gerdoo deploy و gerdoo logs بدون تغییر باقی ماندهاند.
gerdoo upgradeبهروزرسانی خودکار CLI به آخرین نسخه.
gerdoo versionنمایش نسخهٔ نصبشده.