بعد از این درس دقیقاً چه بلدی؟
- موضوع «CI» را با زبان ساده برای فرد دیگری توضیح میدهی.
- مثال همین درس را خطبهخط میخوانی و خروجی آن را پیشبینی میکنی.
- کد را تغییر میدهی، نتیجه یا ساختار آن را بررسی میکنی و خطا را مرحلهای اصلاح میکنی.
پل جدید کنار پل قدیمی
مسیر تازه ابتدا بررسی میشود و ترافیک مرحلهای منتقل میگردد؛ اگر مشکل بود راه بازگشت آماده است.
Pipeline تغییر را Build، Test و بررسی امنیت میکند. استقرار باید Health Check، Migration سازگار، Rollback و معیارهای خطا و زمان پاسخ داشته باشد.
چرا مهم است؟ این مفهوم یکی از آجرهای مسیر حرفهای PHP است. فعلاً لازم نیست همه جزئیات را حفظ کنی؛ باید دلیل استفاده و اثر هر خط را بفهمی.
اولین تمرین تو: نسخه ساخته، Migration سازگار اجرا، نمونه تازه Health Check و سپس ترافیک تدریجی منتقل میشود.
اول بفهم، بعد کد بنویس
CI
هر تغییر را بهطور خودکار Build و Test میکند.
CD
نسخه تأییدشده را با فرآیند کنترلشده منتشر میکند.
Observability
از Metric، Log و Trace وضعیت درونی را از خروجیها میفهمد.
استقرار نسخه تازه فروشگاه
نسخه ساخته، Migration سازگار اجرا، نمونه تازه Health Check و سپس ترافیک تدریجی منتقل میشود.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
کد را کامل کن و ساختار آن را بررسی کن
این درس وارد قابلیتهای سروری یا حرفهای شده است. برای امنیت سایت، کد دلخواه روی سرور اجرا نمیشود؛ بررسیگر، وجود اجزای ضروری و منطق مورد انتظار را کنترل میکند و راهنمای اصلاح میدهد.
کد را کامل کن و «بررسی ساختار» را بزن.
این مثال خطبهخط چه میگوید؟
فعلاً حفظ نکن؛ هر خط را به یک جمله ساده تبدیل کن.
- 1
steps:این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 2
- composer install --no-dev --no-interactionاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 3
- composer checkاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 4
- php artisan migrate --forceاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 5
- deploy releaseاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 6
- health-check /healthاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 7
- shift trafficاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 8
- monitor errors and latencyاین خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
Rollback برای کد و دیتابیس و سه SLI اصلی برنامه را تعریف کن.
از ساده به چالشی، بدون پرش
یکی از مقدارهای مثال را عوض کن، خروجی را روی کاغذ حدس بزن و سپس بررسی کن.
Rollback برای کد و دیتابیس و سه SLI اصلی برنامه را تعریف کن.
سناریوی «استقرار نسخه تازه فروشگاه» را با نامهای واضحتر و یک حالت تازه گسترش بده.
این سه اشتباه را انجام نده
Migration مخرب همزمان با کد قدیمی
Deploy بدون Health Check
پایش فقط CPU و نادیدهگرفتن خطای کاربر
5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفتهای
برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همانجا میبینی.
چرا Migration باید با نسخه قبلی سازگار باشد؟
کدام توضیح، «CI» را دقیقتر بیان میکند؟
بهترین قدم بعد از خواندن مثال این درس چیست؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
درس را فقط وقتی تمام کن که کد را تغییر دادهای
دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیشبینی کن و بعد اجرا بزن.