استقرار Ruby در کنسول پاستا؛ اجرای نمونه رسمی، تنظیم فرمان اجرا، پورت و بررسی سلامت، نگهداری داده و رفع خطاهای رایج.
پیش از شروع
- حساب فعال و دسترسی ساخت پروژه در فضای کاری داشته باشید. از داده آزمایشی استفاده کنید.
- نام پروژه، ناحیه، منابع و هزینه را پیش از تأیید نهایی بررسی کنید. کلیدها و رمزها را فقط در تنظیمات خصوصی کنسول وارد کنید.
نمونه و فایلهای لازم
مشاهده فایلهای نمونه Ruby؛ فایلهای اصلی: Gemfile و config.ru. فرمان زیر کل مخزن را دریافت میکند؛ پوشه این آموزش ruby است.
git clone https://github.com/Paasta-Cloud/examples.git
cd examples/rubyنمونه Rack است و Gemfile شامل rack، rackup و puma دارد.
Gemfile.lock را برای پروژه واقعی ثبت کنید. فایل app.rb ساده با خروج فوری را بهجای سرور Rack اجرا نکنید.
ساخت پروژه از کنسول
- در کنسول «ساخت اپلیکیشن» را باز کنید و منبع
Gitیا آپلود سورس را انتخاب کنید. - برای
Git، مخزنexamplesو شاخهmainرا انتخاب کنید و پوشه پروژه درMonorepoراrubyقرار دهید. برای آپلود، فقط محتوای همان پوشه را بفرستید؛node_modules،.venvو خروجی ساخت محلی لازم نیستند. - نتیجه بررسی سورس را بخوانید. اگر مخزن را برای پروژه خودتان
forkکردهاید، اتصالGitباید به همان مخزن دارای تغییرات اشاره کند. - در تنظیمات اجرا، پورت 3000 و مسیر سلامت
/healthرا بررسی کنید. فرمان اجرا و متغیرهای موردنیاز را با جدول زیر تطبیق دهید. - پلن، ناحیه، دیسک و هزینه منابع را مرور کنید و ساخت را تأیید کنید. مراحل ساخت و اجرا را در صفحه استقرار دنبال کنید.

فرمانها و تنظیمات نمونه
| تنظیم | مقدار |
|---|---|
| ساخت یا نصب | bundle install |
| اجرا | bundle exec rackup -o 0.0.0.0 -p 3000 |
| پورت داخلی | 3000 |
| مسیر سلامت | /health |
فرمان ساخت را برای شناخت مراحل میبینید؛ پاستا آن را از سورس تشخیص میدهد. override فرمان اجرا فقط وقتی لازم است که فرمان پروژه با نمونه فرق داشته باشد. پورت داخلی باید با پورت واقعی برنامه یکسان باشد؛ پورت رایانه محلی معیار نیست.
بررسی نتیجه
دامنه HTTPS پروژه را باز کنید. نتیجه مورد انتظار نمونه: Ruby is running on Paasta.
مسیر /health باید پاسخ موفق بدهد. در لاگ اجرا خطای تکرارشونده نباشد؛ بعد از آمادهشدن برنامه، یک درخواست واقعی و یک refresh را هم بررسی کنید.
curl -i https://YOUR_PROJECT.paasta.app/healthآدرس بالا نمونه است؛ دامنه واقعی را از صفحه پروژه کپی کنید، چون ممکن است دامنه ناحیه داشته باشد.
خطاهای رایج Ruby
rackup: command not found
gem rackup باید در Gemfile باشد و bundle install موفق شود.
Could not find gem
Gemfile.lock و نسخه Ruby موردنیاز پکیج را بررسی کنید؛ وابستگی اجرا را در گروه development قرار ندهید.
انتشار نسخه بعدی و داده ماندگار
برای نسخه بعدی از همان پروژه استفاده کنید. فایل موقت داخل برنامه ماندگار نیست؛ داده مهم را در دیتابیس یا دیسک پایدار نگه دارید و قبل از تغییر ساختار داده بکاپ بگیرید. Rollback نسخه برنامه، migration یا داده دیتابیس را خودکار به عقب برنمیگرداند.