استقرار Ruby on Rails در کنسول پاستا؛ اجرای نمونه رسمی، تنظیم فرمان اجرا، پورت و بررسی سلامت، نگهداری داده و رفع خطاهای رایج.
پیش از شروع
- حساب فعال و دسترسی ساخت پروژه در فضای کاری داشته باشید. از داده آزمایشی استفاده کنید.
- نام پروژه، ناحیه، منابع و هزینه را پیش از تأیید نهایی بررسی کنید. کلیدها و رمزها را فقط در تنظیمات خصوصی کنسول وارد کنید.
نمونه و فایلهای لازم
مشاهده فایلهای نمونه Ruby on Rails؛ فایلهای اصلی: Gemfile، config.ru و config/routes.rb. فرمان زیر کل مخزن را دریافت میکند؛ پوشه این آموزش rails است.
git clone https://github.com/Paasta-Cloud/examples.git
cd examples/railsنمونه API بدون مدل دیتابیس است. SECRET_KEY_BASE خصوصی را پیش از استقرار تنظیم کنید؛ fallback نمونه فقط برای نمایش است.
برای پروژه کامل RAILS_MASTER_KEY، DATABASE_URL، ذخیره فایل و migration را مطابق پروژه تنظیم کنید. دیسک محلی موقت جای Active Storage پایدار نیست.
ساخت پروژه از کنسول
- در کنسول «ساخت اپلیکیشن» را باز کنید و منبع
Gitیا آپلود سورس را انتخاب کنید. - برای
Git، مخزنexamplesو شاخهmainرا انتخاب کنید و پوشه پروژه درMonorepoراrailsقرار دهید. برای آپلود، فقط محتوای همان پوشه را بفرستید؛node_modules،.venvو خروجی ساخت محلی لازم نیستند. - نتیجه بررسی سورس را بخوانید. اگر مخزن را برای پروژه خودتان
forkکردهاید، اتصالGitباید به همان مخزن دارای تغییرات اشاره کند. - در تنظیمات اجرا، پورت 3000 و مسیر سلامت
/healthرا بررسی کنید. فرمان اجرا و متغیرهای موردنیاز را با جدول زیر تطبیق دهید. - پلن، ناحیه، دیسک و هزینه منابع را مرور کنید و ساخت را تأیید کنید. مراحل ساخت و اجرا را در صفحه استقرار دنبال کنید.

فرمانها و تنظیمات نمونه
| تنظیم | مقدار |
|---|---|
| ساخت یا نصب | bundle install |
| اجرا | bundle exec rails server -b 0.0.0.0 -p 3000 |
| پورت داخلی | 3000 |
| مسیر سلامت | /health |
فرمان ساخت را برای شناخت مراحل میبینید؛ پاستا آن را از سورس تشخیص میدهد. override فرمان اجرا فقط وقتی لازم است که فرمان پروژه با نمونه فرق داشته باشد. پورت داخلی باید با پورت واقعی برنامه یکسان باشد؛ پورت رایانه محلی معیار نیست.
بررسی نتیجه
دامنه HTTPS پروژه را باز کنید. نتیجه مورد انتظار نمونه: پاسخ JSON نمونه Rails.
مسیر /health باید پاسخ موفق بدهد. در لاگ اجرا خطای تکرارشونده نباشد؛ بعد از آمادهشدن برنامه، یک درخواست واقعی و یک refresh را هم بررسی کنید.
curl -i https://YOUR_PROJECT.paasta.app/healthآدرس بالا نمونه است؛ دامنه واقعی را از صفحه پروژه کپی کنید، چون ممکن است دامنه ناحیه داشته باشد.
خطاهای رایج Ruby on Rails
Missing secret_key_base
SECRET_KEY_BASE خصوصی و در صورت استفاده از credentials، RAILS_MASTER_KEY درست را ثبت کنید.
Blocked host
دامنه عمومی برنامه را در config.hosts مجاز کنید؛ محدودیت همه میزبانها را بدون بررسی حذف نکنید.
انتشار نسخه بعدی و داده ماندگار
برای نسخه بعدی از همان پروژه استفاده کنید. فایل موقت داخل برنامه ماندگار نیست؛ داده مهم را در دیتابیس یا دیسک پایدار نگه دارید و قبل از تغییر ساختار داده بکاپ بگیرید. Rollback نسخه برنامه، migration یا داده دیتابیس را خودکار به عقب برنمیگرداند.