قابلیت · ساخت و استقرار
بازگشت باید کسلکننده باشد
هر انتشار یک شیء تغییرناپذیر با دایجست مشخص است. بازگشت یعنی اشارهگر را به انتشار قبلی برگردانید — نه بازسازی، نه بیلد مجدد، نه دعا.
چرا «تگ» کافی نیست
اگر یک اپلیکیشن با تگِ v2.1 مستقر شده باشد، و کسی آن تگ را در رجیستری روی یک ایمیجِ دیگر ببرد، شما هیچ راهی ندارید که بفهمید چه چیزی واقعاً در حال اجراست. تگ یک اشارهگرِ متغیر است.
در دزکوب، هر انتشار با دایجست ثبت میشود. دایجست، هشِ محتواست: قابل تغییر نیست، و اگر محتوا عوض شود دایجست عوض میشود.
- شناسهٔ انتشار
- یکتا و افزایشی
- دایجست ایمیج
- sha256:…
- commit مبدأ
- هشِ commit
- پیکربندی
- snapshot کاملِ متغیرها و منابع در لحظهٔ انتشار
- وضعیت
- در حال استقرار / فعال / بازگشته / شکستخورده
- زمان و عامل
- چه کسی، چه وقت
نکتهٔ کلیدی
پیکربندی هم بخشی از انتشار است. بازگشت، فقط ایمیج را برنمیگرداند — متغیرها و منابع را هم برمیگرداند.
چهار استراتژی انتشار
| استراتژی | چطور کار میکند | برای چه موقعی |
|---|---|---|
| یکباره | نسخهٔ قدیم خاموش، جدید روشن | محیط توسعه، بار کاری بدون ترافیک |
| تدریجی | پادها یکییکی جایگزین میشوند | پیشفرض برای تولید |
| کاناری | درصدی از ترافیک به انتشار جدید | تغییر پرریسک |
| آبی-سبز | دو مجموعهٔ کامل، جابهجایی اشارهگر | تغییری که باید یکجا اتفاق بیفتد |
کاناری چطور کار میکند
وزندهی روی Gateway API انجام میشود، نه با شمارش پاد. یعنی درصدِ ۵٪ واقعاً ۵٪ ترافیک است، نه «یک پاد از بیست تا».
بازگشت — یک دکمه، چند ثانیه
بازگشت یعنی اشارهگرِ Service به مجموعهٔ انتشار قبلی برمیگردد. ایمیج قبلی هنوز در رجیستری است، پادهایش هنوز قابل ساختاند، و پیکربندیاش در snapshot انتشار ثبت شده.
| بازسازی از گیت | بازگشت دزکوب | |
|---|---|---|
| زمان | چند دقیقه تا چند ده دقیقه | چند ثانیه |
| وابسته به | در دسترس بودن مخزن، رجیستری، خط لولهٔ CI | فقط رجیستری |
| ریسک | ممکن است ایمیجِ متفاوتی بسازد | همان دایجست، تضمینشده |
| در نیمهشب | نیازمند کسی که خط لوله را بلد باشد | یک دکمه |
تأیید انتشار
- تأیید اجباری
- برای محیطهای علامتگذاریشده، انتشار نیاز به تأیید نفر دوم دارد
- قاعدهٔ چهارچشمی
- تأییدکننده نمیتواند خودِ درخواستدهنده باشد
- پنجرهٔ انتشار
- امکان تعریف بازههای ممنوع (مثلاً پایان ماه مالی)
- ثبت ممیزی
- هر تأیید و رد، یک ردیف در زنجیره
حالتها
متن واقعی رابط کاربری در هر وضعیت. حالت خالی، در حال انجام، و خطا، به همان شکلی که کاربر میبیند.
- در حال استقرار
۳ از ۵ پاد آماده
لغو — نمونهٔ دکمهٔ رابط کاربری، در این صفحه فعال نیست
- شکست استقرار
استقرار ناموفق. به انتشار قبلی برگشتیم.
مشاهدهٔ لاگ — نمونهٔ دکمهٔ رابط کاربری، در این صفحه فعال نیست
- کاناری فعال
۵٪ ترافیک روی انتشار ۲۴
افزایش · توقف · تکمیل — نمونهٔ دکمهٔ رابط کاربری، در این صفحه فعال نیست
- منتظر تأیید
این انتشار منتظر تأیید است.
- خارج از پنجره
الان پنجرهٔ انتشار بسته است (پایان ماه مالی). بازگشایی: ۱ مهر.
درخواست استثنا — نمونهٔ دکمهٔ رابط کاربری، در این صفحه فعال نیست
اینها را هم ببینید
این را روی زیرساخت خودتان ببینید.
یک جلسهٔ ۴۵ دقیقهای، محصول واقعی، بدون اسلاید.