محیطها، ریلیزها و بهرهبرداری
محیطها و پیشنمایش PR
محیطهای production/staging/preview و استقرار آزمایشی Pull Requestها.
هر پروژه میتواند چند محیط داشته باشد: production، staging و preview. هر سرویس به یک محیط تعلق دارد و متغیرهای آن محیط روی سرویس اعمال میشوند.
برای هر Pull Request میتوان یک محیط preview موقت ساخت که نسخه آن شاخه را جداگانه اجرا میکند و با بستهشدن PR حذف میشود؛ اینطور تغییرات بدون لمس production بررسی میشوند.
برای preview، متغیرهای لازم را تنظیم کنید و از دیتابیس یا کلیدهای جداگانه استفاده کنید تا داده واقعی محیط اصلی تغییر نکند.
بیلد، ریلیز و بازگشت به نسخه قبلی
تاریخچه استقرارها، rollback و انتقال نسخه بین محیطها.
هر استقرار موفق یک «بیلد» تغییرناپذیر (با ارجاع ایمیج و کامیت) و یک «ریلیز» فعال ثبت میکند. تاریخچه بیلدها و ریلیزها در پنل و با gerdoo service builds|releases قابل مشاهده است.
برای بازگشت به نسخه قبلی (rollback)، یک بیلد قبلی را انتخاب کنید؛ همان ایمیج بدون ساخت دوباره اجرا و یک ریلیز فعال جدید ایجاد میشود.
میتوانید یک بیلد آزمایششده را بین محیطها promote کنید تا دقیقاً همان نسخه به production برسد و از تفاوتهای ناخواسته جلوگیری شود.
وب، ورکر و کرانجاب
نوع پروسه سرویس و مقیاس افقی با چند نمونه (replica).
هر سرویس یک نوع پروسه دارد: web (پاسخ به ترافیک HTTP یا TCP)، worker (پردازش پسزمینه بدون پورت عمومی) یا cron (اجرای زمانبندیشده).
سرویس cron بهجای روشنماندن دائمی، طبق زمانبندی (cron) اجرا میشود و خروجی هر اجرا در تاریخچه اجراها ثبت میگردد.
برای مقیاس افقی سرویسهای web یا worker میتوانید تعداد replica را افزایش دهید؛ ترافیک بهصورت round-robin بین نمونههای در حال اجرا پخش میشود.
آمار، لاگ و مانیتورینگ
لاگ زنده runtime و رصد مصرف منابع و ترافیک.
جریان لاگهای استاندارد runtime (stdout/stderr) را مستقیم از پنل یا با gerdoo logs <slug> ببینید؛ نیازی به SSH نیست و لاگها بهصورت زنده بهروزرسانی میشوند.
متریکها مصرف پردازنده و حافظه و حجم ترافیک را نشان میدهند. برای عیبیابی، ابتدا لاگ runtime را بخوانید و سپس مصرف منابع، اتصال دیتابیس و درخواستهای خارجی را بررسی کنید.
برای تحلیل هزینه، مصرف پردازنده و حافظه را کنار نرخ مصرف بخوانید؛ پردازش پیوسته و ترافیک خروجی بالا معمولاً بیشترین اثر را در صورتحساب دارند.
راهاندازی مجدد و چرخه حیات
مدیریت سرویس همیشهروشن (بدون توقف/شروع جداگانه).
سرویسها همیشهروشناند؛ بنابراین دکمه توقف یا شروع جداگانه وجود ندارد. برای اعمال تغییرات پیکربندی یا رفع گیر کردن پروسه، از «راهاندازی مجدد» (Restart) استفاده کنید که کانتینر را با همان تنظیمات و دادههای Volume دوباره اجرا میکند.
تغییر متغیرهای محیطی یا ساخت ریلیز جدید نیز بهطور خودکار سرویس را بازسازی میکند. اگر دیگر به سرویس نیاز ندارید، حذف آن تنها راه توقف کامل مصرف و هزینه است (دادههای Volume نیز پاک میشوند، پس ابتدا بکاپ بگیرید).