پیادهسازی دواپس
عادی کردن انتشار نسخه: پایپلاین خودکار، محیطهایی که قابل بازسازیاند، و رویههایی که اجازه میدهند یک تیم بعدازظهر چهارشنبه بدون هیچ مراسمی نسخه بدهد.
معرفی
تیمهایی که کم دیپلوی میکنند، بد دیپلوی میکنند. هر نسخه تغییر و ریسک بیشتری روی هم جمع میکند، پس تست و تایید بیشتری میخواهد، پس کمتر اتفاق میافتد، پس نسخه بعدی بار بیشتری دارد. ترس منطقی است و پیامد همان تعداد کم است نه دلیلی برایش.
شکستن این چرخه عمدتا مکانیکی است: خودکار کردن پایپلاین، قابل بازسازی کردن محیطها، اضافه کردن مانیتورینگ کافی تا یک نسخه خراب فورا دیده شود، و تبدیل کردن رولبک به چیزی که تمرین شده. دیپلوی از یک رویداد به چیزی تبدیل میشود که روزی چند بار اتفاق میافتد.
مناسب چه کسانی است
- تیمهایی که دیپلویشان دستی، کمتعداد و پراسترس است
- شرکتهایی که فقط یک نفر بلد است نسخه بدهد
- کسبوکارهایی که محیطهایشان آنقدر فرق دارند که تست چیز زیادی ثابت نمیکند
نگاه ما به پیادهسازی دواپس
کارهایی که یک همکاری معمولی شامل میشود. دامنه از اول مشخص است و بعدا هزینه اضافه نمیشود.
خودکارسازی پایپلاین
بیلد، تست و دیپلوی که با یک مرج راه میافتند، تا انتشار بخش عادی روز کاری باشد نه یک رویداد زمانبندیشده.
زیرساخت به شکل کد
محیطها داخل کنترل نسخه تعریف میشوند تا مثل هر تغییر دیگری قابل بازسازی، بازبینی و برگشت باشند.
همترازی محیطها
استیجینگی که واقعا شبیه پروداکشن باشد، چون تست کردن روی چیزی متفاوت عمدتا فقط ثابت میکند که تست پاس شده.
رولبک و ایمنی انتشار
فیچر فلگ، انتشار مرحلهای و یک رولبک که تمرین شده باشد نه اینکه فرض شود کار میکند.
مانیتورینگ و هشدار
هشدار روی چیزهایی که نشانه یک مشکلاند، تنظیمشده طوری که آدمها هنوز بخوانندشان. خستگی از هشدار بدتر از نبود هشدار است.
مستندسازی و آمادهباش
دفترچه راهنما و یک شیفتبندی، تا کسی که ساعت سه بیدار میشود دستورالعمل داشته باشد نه شهود.
از اولین تماس تا نتیجه
هر بار همین ترتیب، تا همیشه بدانید قدم بعدی چیست.
ارزیابی
اینکه الان انتشار چطور اتفاق میافتد، چقدر طول میکشد، چند وقت یکبار شکست میخورد، و چه چیزی دستی است.
خودکار کردن مسیر
ساختن پایپلاین برای یک سرویس از اول تا آخر، تا سود کار قبل از دست زدن به کل مجموعه دیده شود.
امن کردنش
اضافه کردن مانیتورینگ، رولبک و انتشار مرحلهای، و بعد تمرین عمدی یک خرابی.
گسترش و تحویل
اجرای همین الگو روی بقیه، با مستندات و آموزش تا تیم شما مالکش باشد.
نتیجه، نه انبوه فایل
چند فایل تحویلی یعنی پیشرفت نیست. اینها چیزهایی است که باید واقعا عوض شود.
انتشارهایی که دیگر رویداد نیستند
دیپلویهای کوچک و مکرر هرکدام ریسک کمتری دارند و وقتی چیزی میشکند به مراتب راحتتر تشخیص داده میشوند.
محیطهایی که میشود بهشان اعتماد کرد
زیرساخت قابل بازسازی یعنی یک تست پاسشده در استیجینگ معنایی دارد.
بازیابی در چند دقیقه
یک رولبک تمرینشده، هزینه یک نسخه خراب را از یک بحران به یک دردسر کوچک تبدیل میکند.
وابسته نبودن به یک نفر
خودکارسازی و دفترچه راهنما، همان نقطه شکست واحدی را برمیدارند که بیشتر تیمها دارند و به ندرت به آن اقرار میکنند.
پرسشهای رایج درباره پیادهسازی دواپس
چیزهایی که معمولا قبل از تماس میپرسند. اگر پرسش شما اینجا نیست، مستقیم بپرسید.
چند وقت یکبار باید دیپلوی کنیم؟
هر وقت چیزی ارزش انتشار دارد، که برای بیشتر تیمها یعنی دستکم چند بار در هفته. تعدادش هم نشانه است و هم علت: دیپلوی کمتعداد هرکدام را پرریسکتر میکند، که باعث میشود باز هم کمتر شود.
به کوبرنتیز نیاز داریم؟
معمولا نه. مشکلاتی را حل میکند که بیشتر سازمانها ندارند و پیچیدگی عملیاتیای میآورد که نیرو میخواهد. یک پلتفرم مدیریتشده یا میزبانی ساده کانتینر، اکثریت بزرگ بارهای کاری را با چیزهای خیلی کمتری برای خراب شدن پوشش میدهد.
میتوانید با مهندسهای فعلی ما کار کنید؟
هدف همین است. ترجیح میدهیم پایپلاین را کنار تیم شما بسازیم تا دانش داخل شرکت بماند، به جای اینکه چیزی تحویل بدهیم که بدون فهمیدنش تحویلش میگیرند.
این چقدر طول میکشد؟
اولین سرویس از اول تا آخر سه تا شش هفته. گسترشش روی کل مجموعه به تعداد سرویسها و اینکه چقدر با هم فرق دارند بستگی دارد.
پیادهسازی دواپس برایتان مطرح است؟
بگویید میخواهید چه چیزی عوض شود. اگر گزینه مناسبی نباشیم، همان اول میگوییم و جای بهتری معرفی میکنیم.
دنبال تصویر کاملتر هستید؟
پیادهسازی دواپس معمولا کنار کارهای دیگر در دواپس، زیرساخت و عملیات فنی قرار میگیرد. کل این حوزه را ببینید تا ارتباطها روشن شود.
