ادغام مستمر و خط لوله های مداوم (CI / CD) تبدیل به ستون فقرات تحویل نرم افزار مدرن شده است.آنها ادغام تغییرات کد، اجرای تست ها و استقرار برنامه ها را خودکار می کنند، تیم ها را قادر می سازد تا ویژگی ها را سریع تر و قابل اعتماد تر آزاد کنند، با این حال، به عنوان خطوط لوله رشد می کند - بارگیری چندین مرحله، ابزارها و محیط - حفظ سلامت و عملکرد آنها، تشخیص دقیق این امر، می تواند به طور سیستماتیک مشکلات ردیابی گام و ردیابی دقیق را ارائه دهد.

درک نظارت و ورود

بازدید کننده عمل مشاهده حالت و رفتار خط لوله CI / CD خود را در زمان واقعی متمرکز بر معیارهای کمی مانند ساخت مدت، نرخ موفقیت، مصرف منابع و طول صف است.

از دست دادن در مقابل، ثبت یک دانه، رکورد زمان بندی شده از حوادث که در طول هر خط لوله رخ می دهد، هر ورودی شامل جزئیات در مورد چه اتفاقی افتاد، زمانی که اتفاق افتاد، و اغلب به این دلیل اتفاق افتاد - از جمله پیام های خطا، هشدار خطا، خروجی و متاداده متنی مانند هش و متغیرهای محیط زیست، در حالی که "در حال حاضر پاسخ های سالم، دقیقاً شکست خورده است؟"

اجرای نظارت بر CI / CD

انتخاب ابزارهای نظارت

و در این میان، از طریق استفاده از ابزارهای مناسب، از طریق [[رده:]] و [[رده:رده:]] و [[رده:]]، [[رده:رده:]] و [[رده:رده:]] و [[مسل]]، [[رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده:رده: [[رده:رده:رده:رده:رده:رده:رده: [[رده: [[رده:رده:رده:رده:رده:رده:

معیارهای کلیدی برای ردیابی

نظارت تنها به اندازه معیارهایی که جمع آوری می کنید ارزشمند است.بر روی این شاخص های ضروری سلامت خط لوله تمرکز کنید:

  • نرخ موفقیت ساخت - درصد از ساخت و ساز که تکمیل بدون خطا.
  • زمان ساخت - روند افزایش نشان دهنده ضعف تست، محتوا منبع یا مراحل ناکارآمد است.
  • فرکانس عملکرد - که اغلب استقرار با نرخ شکست ایجاد می شود، نشان می دهد که ثبات کلی آزاد است.
  • نرخ شکست [FLT 1] - نسبت شکست خورده است.
  • زمان بهبودی (MTTR) - زمان گرفته شده برای بازگرداندن سلامت خط لوله پس از یک حادثه. کوتاه تر MTTR نشان دهنده روش های هشدار و اصلاح قوی است.
  • استفاده از منبع - CPU، حافظه، دیسک I/O و استفاده از شبکه از ساخت عوامل یا ظروف بطری می تواند با مقیاس یا بهینه سازی مشاغل مورد توجه قرار گیرد.

برای مثال، هشدارهای خودکار را برای آستانه های این معیارها تنظیم کنید، یک هشدار را ایجاد کنید زمانی که نرخ موفقیت کمتر از ۹۵ درصد کاهش می یابد یا زمانی که میانگین مدت ساخت آن تا ۲۰ درصد بیشتر از یک پایه باشد.

پیاده سازی ورود به CI / CD

ساختار بندی و ابزار سازی

و در این راستا، به صورت مستقیم، به صورت مستقیم به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر، به صورت زیر و رو، به روی آورده شده است.

چه چیزی را در هر مرحله وارد کنید

یک استراتژی جامع ورود اطلاعات را در هر مرحله ثبت می کند:

  • - URL مخزن، شاخه، متعهد، مدت زمان کلونی.
  • نصب و راه اندازی [FLT 1] - خروجی مدیر بسته، خطاهای شبکه، درگیری های نسخه.
  • [[۱] [۱۰]: [۱] [۱] [۱]] [۱]] [۱]] [۱]] [۱]] [۱]] [۱]] [۱]]- [۱]] [۱]] [۱]]- [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۵] [۱] [۵] [۵] [۵] [۵] [۵] [۵] [۱] [۱] [۱] [۱] [۱] [۵] [۵] [۱] [۱]] [۱]]]] [۱]]]]]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]]]] [۱] [۱]]] [۱] [۱
  • [[۱] [۱۰] [۱] [۱۰] [۱]] - نتایج آزمون، زمان سنجی، نشانگرهای تست ضعیف.
  • اسکن امنیتی - آسیب پذیری های یافت شده، شکست های انطباق.
  • [در این میان] آفرینش (FLT:0) اثر گذار ([FLT: 1) [[۱]] - چک های هش، ذخیره سازی و ثبت نام (Spectation)
  • - محیط هدف، استراتژی های رول (آبی / سبز، کنسروی)، مراحل تایید.

استفاده از سطوح ورودی مناسب: برای پیشرفت طبیعی [FLT 1] برای ناهنجاری های قابل بازیابی، برای شکست های مورد نیاز نیاز توجه اجتناب از افعال بیش از حد در خط لوله های تولید؛ در عوض، دی ان دی ان دی ان دی ان ای را قادر می سازد تا هنگام عیب یابی به تقاضا.

یکپارچه سازی نظارت و ورود با ابزار CI / CD

هر پلتفرم CI/CD امتیازهای تمدید برای نظارت و ورود به [FLT] را ارائه می دهد؛ ، شما می توانید پلاگین پروتوصی را برای افشای معیارهای ساخت و یا استفاده از پلاگین Logstash برای ارسال شاخص های اتصال به Elasticsearch.F2GitLab [F3] از معیارهای سفارشی خود پشتیبانی می کند (FLT3 به شما اجازه می دهد تا به طور معمول با استفاده از طریق پروتکل های پیکربندی شده است.

بهترین روش ها برای نظارت و ورود

برای به دست آوردن بیشترین سرمایه گذاری حفظ کننده خود، این شیوه های اثبات شده را دنبال کنید:

  • ستاره در اوایل نظارت و ورود در طول طراحی خط لوله اولیه سخت تر و اغلب از دست دادن معیارهای بنیادی است.
  • استفاده از داشبورد متمرکز. یک دیدگاه یکپارچه که سلامت خط لوله زمان واقعی، شکست های اخیر و جستجوی log را ترکیب می کند، تغییر زمینه را کاهش می دهد.
  • هشدار های عملی را تنظیم کنید.[۱۰] [FLT ۱] از خستگی هشدار با تعریف شدت و سرکوب سر و صدا شناخته شده اجتناب کنید. هشدارها باید به پاسخ انسان نیاز داشته باشند، نه فقط اطلاعات.
  • logs and متریک هنگامی که یک ساخت شکست می خورد، به سرعت از پنل متریک به خطوط ورودی خاص برای اجرای آن، بپرد.
  • ثبت نام استراتژیک ، ثبت های اخیر (به عنوان مثال، 7 تا 30 روز) برای عیب یابی و بایگانی برچسب های قدیمی تر برای انطباق. فشرده و ذخیره در کراوات های مقرون به صرفه (S3 Glacier، و غیره).
  • تجزیه و تحلیل خودکارسازی از تشخیص و یا تشخیص الگویی برای شناسایی شکست های تکراری (به عنوان مثال، "خارج از فضای دیسک" استفاده کنید.این تغییر از نظارت واکنشی به بهبود فعال است.
  • هر بار متن را وارد کنید.[۱۰] [FLT ۱] هر خط ورود و برچسب متریک باید اطلاعات کافی برای درک محیط زیست، نسخه کد و رویداد ماشه ای را حمل کند.
  • ناظر بر نظارت هنگامی که خط لوله نظارت شما شکست می خورد (به عنوان مثال هدف پروکاروس پایین است، logs مصرف نمی شود).

قرص های معمول و چگونگی اجتناب از آن

حتی با نیت خوب، تیم ها اغلب دچار مشکلات مکرر و درمان های آنها می شوند:

  • خستگی [FLT 1] هشدار بسیار کم، باعث حساسیت به راه حل می شود: بررسی قوانین هشدار سه ماهه، هشدار های مربوط به گروه و استفاده از فواصل سکوت برای نگهداری برنامه ریزی شده.
  • از بین بردن متن در logs.[۱۰] بدون خط لوله ID یا متعهد نمودن SHA، ورود به ساختمان سازی اولیه از طریق قالب ها یا توابع کتابخانه مشترک را غیرممکن می کند.
  • فرمت های ورودی غیر مجاز مراحل مختلف طرح های مختلف را تولید می کنند. استاندارد سازی در یک فرمت (به عنوان مثال، JSON با کلید های توافق شده) در تمام ابزارها.
  • ] تشخیص داده های روند تیم ها اغلب به اعداد خام نگاه می کنند، اما نه با نرخ تغییر، از هشدارهای سری زمان برای تشخیص تخریب تدریجی قبل از اینکه حاد شود استفاده می کنند.
  • Over-instrumentation [FLT 1] بسیاری از معیارها سر و صدا و هزینه را افزایش می دهند.
  • سیاست حفظ هزینه های ذخیره سازی بالون را وارد می کند. تعیین پنجره های نگهداری روشن در هر محیط (به عنوان مثال، logs تولید طولانی تر از توسعه نگه داشته شده است).

بهبود عملکرد خط لوله با Data-Driven Insights

نظارت و ورود به طور سیستماتیک به حل مشکلات کمک نمی کند – به عنوان مثال فرصت های بهینه سازی را نشان می دهد.(برای مثال، اگر معیارها نشان دهند که افزایش طول زمان هر زمان که همزمان ایجاد می شود، ممکن است موازی بودن عامل یا یکپارچه سازی مجدد را در مقیاس های کوچکتر (دوارد اغلب نشان می دهد که "آزمون به دلیل زمان خروج" برای یک ماژول خاص، که ماژول نیاز به تجزیه و تحلیل نوار لوله های کوچک تر دارد (تقوط تجزیه و تحلیل سرعت پردازش).

نتیجه گیری

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