این چکلیست را پیش از اتصال دامنه اصلی یا هدایت ترافیک واقعی اجرا کنید. هر مورد باید نتیجه قابلمشاهده داشته باشد، نه فقط یک تنظیم ذخیرهشده.
build و artifact
- Dockerfile یا build plan تشخیصدادهشده را در جزئیات deployment بررسی کردهاید.
- نسخه dependencyها lock شده و image با tag یا digest قابلشناسایی منتشر میشود.
- credential،
.envو فایل خصوصی وارد build context یا image نشدهاند. - command شروع process طولانیمدت است و روی
0.0.0.0و پورت App گوش میدهد. - یک deployment از commit یا image مورد نظر به
Readyرسیده است.
راهنما: پیکربندی build و استقرار Docker image
پیکربندی و امنیت
- متغیرهای لازم در App تنظیم شده و مقدار حساس در repository یا log نیست.
- tokenهای CI کمترین دسترسی لازم را دارند و از secret store خوانده میشوند.
- image در حالت
restrictedاجرا میشود؛compatibleفقط با دلیل مشخص استفاده شده است. - خطاهای application اطلاعات credential، query داخلی یا stack حساس را نمایش نمیدهند.
راهنما: متغیرهای محیطی
health و runtime
- endpoint اصلی، نه فقط صفحه root، پاسخ معتبر میدهد.
- health path سریع است و به dependency اختیاری وابستگی غیرضروری ندارد.
- restart برنامه آزموده شده و زمان بازیابی قابلقبول است.
- plan فعلی CPU، memory و storage کافی دارد.
- رفتار stop/start و اثر هزینه storage برای تیم روشن است.
راهنما: چرخه عمر و تغییر plan
داده
- اتصال دیتابیس از خود App با یک query واقعی تأیید شده است.
- migrationها قبل یا هنگام release به روش کنترلشده اجرا میشوند.
- برای داده production سیاست backup و retention دارید.
- restore در محیط غیرproduction آزموده شده است.
- داده persistent disk جدا از code است و export یا backup مستقل دارد.
راهنما: اتصال دیتابیس و دیسک پایدار
دامنه و TLS
- TXT مالکیت و CNAME routing هر دو
verifiedهستند. - TLS وضعیت
readyدارد و تاریخ expiry/renewal قابلمشاهده است. - HTTP به HTTPS طبق انتظار redirect میشود.
- CAA و دسترسی عمومی پورت
80مانع renewal نیستند. - تغییر DNS با TTL و مسیر rollback برنامهریزی شده است.
راهنما: دامنه اختصاصی و TLS
مشاهدهپذیری و recovery
- اعضای مسئول میدانند لاگ deployment و runtime چه تفاوتی دارند.
- یک failure آزمایشی یا staging تشخیص داده شده است.
- شناسه آخرین deployment سالم مشخص است.
- rollback اجرا یا حداقل در محیط غیرproduction تمرین شده است.
- پس از rollback، endpoint اصلی و داده بررسی میشوند.
abrun app deployment list <app>
abrun app logs <app> --tail 100راهنما: مراحل، لاگها و rollback و مانیتورینگ، لاگ و Analytics
بررسی نهایی
پس از تکمیل موارد بالا:
- deployment مورد نظر را یک بار دیگر inspect کنید.
- URL پیشفرض و دامنه اختصاصی را آزمایش کنید.
- یک عملیات خواندن و نوشتن واقعی اجرا کنید.
- metric و log را هنگام همان عملیات ببینید.
- مسئول rollback و پاسخگویی را مشخص کنید.
production readiness یک وضعیت دائمی نیست؛ این مرور را پس از تغییر build، plan، domain، database یا storage تکرار کنید.