Skip to Content
خط فرمان (CLI)مرجع دستورها

مرجع کامل دستورها

مرجع کامل دستورها

همهٔ دستورها با ساختار 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

نمایش نسخهٔ نصب‌شده.