پرش به مطلب اصلی

استقرار با هوش مصنوعی

پروژه‌تان را در ابزار هوش مصنوعی باز کنید، پنل مقصد و نام سرویس را بدهید و از عامل بخواهید استقرار را انجام دهد. پرامپت این صفحه به عامل روش کار با chabok deploy برای چابکان و diva deploy برای کلودیوا را معرفی می‌کند: شناخت پروژه، بررسی تنظیمات، اجرای build و تست مرتبط، ارسال نسخه و بررسی نتیجه.

شروع کوتاه: یک هاست ابری بسازید ← در محیط عامل به CLI وارد شوید ← پرامپت مخصوص سرویس‌تان را کپی کنید ← نتیجهٔ نسخهٔ جدید را بررسی کنید.

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

چه ابزاری مناسب است؟​

عامل باید بتواند فایل‌های پروژه را بخواند و در همان محیط فرمان ترمینال اجرا کند. دسترسی به اینترنت برای ارسال نسخه نیز لازم است.

ابزارروش استفاده
ChatGPT و Codexپروژه را در محیطی باز کنید که دسترسی به فایل و اجرای فرمان دارد؛ مثلاً Codex CLI. پرامپت را به عامل همان پروژه بدهید.
Claudeاز Claude Code در پوشهٔ پروژه یا محیط متصل به آن استفاده کنید؛ این ابزار فایل‌ها را می‌خواند و فرمان اجرا می‌کند.
Cursorپوشهٔ پروژه را باز کنید و پرامپت را در Agent بدهید؛ اجرای فرمان‌ها باید برای عامل مجاز باشد.
چت بدون دسترسی به ترمینالپرامپت را برای تهیهٔ دستورها و راهنمای مرحله‌ای بدهید؛ اجرای دستورها و بررسی نتیجه را خودتان انجام دهید.

در محیط ابری یا sandbox، ورود CLI روی لپ‌تاپ شما در دسترس عامل نیست. CLI و فایل‌های پروژه باید در محیط اجرای عامل آماده باشند. امکانات و مجوزهای هر ابزار ممکن است متفاوت باشد؛ دسترسی اجرای فرمان را در همان ابزار بررسی کنید.

برای این روش لازم نیست ابزار به API هوش مصنوعی چابکان متصل باشد. اگر می‌خواهید مدل‌های چابکان را هم در ابزار استفاده کنید، راهنمای Claude Code، Codex یا Cursor را دنبال کنید.

۱. CLI و سرویس مقصد را آماده کنید​

در ترمینال محیطی که عامل از آن استفاده می‌کند، CLI همان پنل مقصد را نصب کنید و وارد حساب همان پنل شوید: chabok برای چابکان، diva برای کلودیوا. اگر از قبل نصب و وارد شده‌اید، نیازی به تکرار نیست.

npm install -g @chabokan.net/cli
chabok -v
chabok login
chabok service list

برای جزئیات سیستم‌عامل و پیش‌نیازها، نصب CLI را ببینید. ورود را خودتان در ترمینال انجام دهید؛ رمز یا token را در گفت‌وگو ننویسید.

نام دقیق سرویس را از فهرست CLI یا پنل کپی کنید؛ این مقدار با عنوان نمایشی، آدرس سایت یا نام پوشهٔ پروژه الزاماً یکسان نیست. مسیر پنل: هاست ابری ← سرویس موردنظر. پروژه باید با پلتفرم همان سرویس سازگار باشد.

۲. پرامپت مخصوص پروژه را بسازید​

متن پرامپت به انگلیسی تولید می‌شود و نسخهٔ قابل دریافت نیز انگلیسی است.

در فرم، پنل سرویس مقصد را انتخاب کنید. با انتخاب کلودیوا، پرامپت تمام فرمان‌ها را با diva، نصب را با @cloudiva.net/cli و تنظیمات پروژه را با diva.json و .divaignore معرفی می‌کند. پیش‌فرض فرم چابکان است؛ موقعیت خارج از ایران را با انتخاب کلودیوا هماهنگ کنید.

مسیر . یعنی پوشهٔ فعلی محیط عامل. برای monorepo، مسیر درست اپلیکیشن را وارد کنید؛ مثلاً ./apps/api. اگر پروژه به فایل‌های مشترک در ریشه نیاز دارد، عامل باید آنها را هم در آماده‌سازی لحاظ کند.

«آماده‌سازی و استقرار» به عامل اجازه می‌دهد بعد از بررسی‌ها روی همین سرویس deploy کند. برای دیدن تغییرات و بررسی آمادگی پیش از ارسال نسخه، «فقط آماده‌سازی» را انتخاب کنید.

این فرم فقط متن پرامپت می‌سازد. نام سرویس را عیناً از پنل کپی کنید؛ رمز یا کلید دسترسی وارد نکنید.

نام دقیق سرویس را از پنل وارد کنید.

نسخهٔ عمومی را متناسب با پنل دریافت کنید: پرامپت چابکان (chabok) یا پرامپت کلودیوا (diva). قبل از استفاده، SERVICE_NAME، مسیر پروژه و آدرس سلامت را متناسب با پروژه عوض کنید. هر دو فایل عمومی در حالت آماده‌سازی و استقرار هستند.

۳. پرامپت را به عامل پروژه بدهید​

پرامپت را در گفت‌وگوی عامل بچسبانید. عامل ابتدا پروژه و سرویس را بررسی می‌کند و بعد از رفع موانع قابل‌حل، فرمانی مانند این را اجرا می‌کند:

chabok deploy --path ./apps/api --service my-api

این فرمان نمونه را با نام و مسیر پروژهٔ خود جایگزین کنید. مشخص‌کردن --service مانع انتخاب تعاملی یک سرویس دیگر می‌شود. تنظیمات موجود chabok.json برای چابکان یا diva.json برای کلودیوا، از جمله destination، همچنان مهم‌اند؛ تنظیمات پیشرفته CLI را ببینید.

پرامپت از عامل می‌خواهد تغییرات موجود شما را حفظ کند، فقط اصلاحات لازم برای استقرار را انجام دهد و بررسی‌های مرتبط را اجرا کند. اگر ورود CLI، نام مقصد، تنظیمات ضروری یا مجوز ابزار مانع باشد، عامل همان مورد را گزارش می‌کند. حذف داده یا تغییر مخرب دیتابیس در اجازهٔ معمول استقرار قرار نمی‌گیرد.

نگه‌داشتن راهنما برای استقرارهای بعدی

فایل پرامپت را می‌توانید در پروژه، مثلاً با نام docs/chabokan-deploy.txt، نگه دارید و دفعهٔ بعد از عامل بخواهید آن را بخواند. نام سرویس، مسیر و حالت اجرا را هر بار مشخص کنید. رمز و token را به این فایل اضافه نکنید؛ لازم نیست دستورالعمل‌های موجود پروژه را جایگزین کنید.

۴. چه زمانی استقرار تمام شده است؟​

«فایل ارسال شد» پایان استقرار نیست. گزارش عامل باید این موارد را پوشش دهد:

بررسینتیجهٔ موردانتظار
مقصدنام دقیق سرویس، پلتفرم و مسیر واقعی پروژه
آمادگیتغییرات لازم و نتیجهٔ build و تست مرتبط؛ موارد اجرا‌نشده مشخص باشند
استقرارنتیجهٔ همان نسخه در هاست ابری ← سرویس ← استقرارها و لاگ build/راه‌اندازی آن
اجرای برنامهلاگ جاری و پاسخ موردانتظار از آدرس سرویس یا endpoint سلامت
نسخهٔ جدیدتطبیق شناسهٔ نسخه، اگر برنامه چنین نشانه‌ای دارد؛ اعلام محدودیت در صورت نبود آن

اگر عامل به وضعیت استقرار دسترسی ندارد، خودش نباید موفقیت را حدس بزند. نتیجهٔ همان تلاش را در استقرارها بررسی کنید. فرمان زیر فقط خروجی جاری برنامه را نشان می‌دهد؛ جایگزین وضعیت build نیست:

chabok service logs --service my-api

برای بررسی برنامه‌نویسی‌شدهٔ وضعیت و لاگ همان استقرار، API استقرار را ببینید. آدرس سلامت اختیاری است؛ باید واقعاً در برنامه وجود داشته باشد. مسیر /health به‌صورت خودکار ساخته نمی‌شود.

نکته‌های مهم قبل از ارسال نسخه​

  • متغیرهای محیطی: .env جزو حذف‌های پیش‌فرض CLI نیست. عامل باید آن و سایر فایل‌های دارای راز را از ورودی استقرار خارج کند و نام متغیرهای لازم را برای تنظیم در پنل سرویس گزارش دهد.
  • فایل‌های نادیده‌گرفته‌شده: در CLI نسخهٔ 0.9.0، در هر پوشه .chabokignore برای چابکان یا .divaignore برای کلودیوا اولویت دارد؛ اگر نباشد .dockerignore و سپس .gitignore انتخاب می‌شود. ساخت فایل جدید نباید قواعد مؤثر قبلی را از بین ببرد. عامل قرارداد نسخهٔ نصب‌شده را بررسی می‌کند.
  • دادهٔ موجود: پیش از استقرار روی برنامهٔ فعال، مسیرهای دائمی و بکاپ‌ها را بشناسید. سورس برنامه با فایل‌های بارگذاری‌شدهٔ کاربران فرق دارد.
  • بدون حالت آزمایشی فرضی: chabok deploy و diva deploy نسخه را واقعاً ارسال می‌کنند. CHABOK_DEBUG=true و DIVA_DEBUG=true هم dry-run نیستند؛ برای آماده‌سازی بدون آپلود، حالت مربوط را در فرم انتخاب کنید.

اگر عامل متوقف شد​

مشکلقدم بعدی
فرمان chabok یا diva پیدا نمی‌شودCLI همان پنل را در محیط عامل نصب و PATH را بررسی کنید؛ نصب روی کامپیوتر دیگر کافی نیست.
ورود لازم است یا سرویس پیدا نمی‌شوددر ترمینال همان محیط وارد حساب پنل مقصد شوید و نام سرویس را با chabok service list یا diva service list بررسی کنید.
build یا start شکست می‌خوردلاگ همان مرحله و نام متغیرهای مفقود را بررسی کنید؛ پلتفرم، runtime و فرمان شروع باید با پروژه سازگار باشند.
upload موفق است ولی سایت باز نمی‌شودنتیجهٔ همان نسخه در استقرارها و سپس لاگ‌ها، پورت و تنظیمات دامنه را بررسی کنید.
upload قطع یا timeout می‌شودابتدا وضعیت تلاش قبلی را بررسی کنید؛ دستور deploy را بدون تشخیص دوباره اجرا نکنید.
عامل فقط دستورها را می‌نویسددسترسی آن به فایل و ترمینال را بررسی کنید؛ در چت بدون این دسترسی، اجرای دستی لازم است.

برای کاهش قطعی هنگام جابه‌جایی نسخه‌ها، استقرار بدون اختلال را مطابق قابلیت پلتفرم و endpoint سلامت برنامه تنظیم کنید.