11 کار بعدی که باید برای بهینه سازی خط لوله CI / CD انجام دهید

عکس پروفایل نویسنده

@FlippedCodingمایلیسا

مهندس نرم افزار / سخت افزار | سخنران فن آوری بین المللی | مخترع تصادفی و دانشمند کمی دیوانه

بسیاری از تیم های مهندسی در حال تغییر به فرهنگ DevOps هستند. این ارتباط زیادی با نحوه تغییر چرخه توسعه نرم افزار در طول سالها دارد. قبلاً ماهها طول می کشید تا یک ویژگی جدید به کار گرفته شود ، از طریق آزمایش آن را بدست آورید ، مشکلات را برطرف کنید و در نهایت به مرحله تولید برسد.

اکنون که رفع اشکال و ویژگی های جدید باید سریعتر به کاربران تحویل داده شود ، همان روش دیگر برای ایجاد تغییر در تولید دیگر به خوبی کار نمی کند. در مورد رگرسیون مسائلی وجود دارد ، استقرارها سازگار نیستند و تشخیص اینکه کدام مصنوع در واقع در تولید است دشوار است.

DevOps بسیاری از این مشکلات را حل می کند و از طریق اتوماسیون استقرارهای مداوم را اضافه می کند. هنگامی که مزایای DevOps را به همه نشان دادید و بیشتر اوقات با آن کار کردید ، می خواهید این خطوط لوله را تا حد ممکن کارآمد نگه دارید. در اینجا چند روش وجود دارد که می توانید خطوط لوله خود را به صورت روان ادامه دهید.

برای توسعه و تولید تنظیمات جداگانه داشته باشید

این به ویژه اگر خدمات مختلفی که برای صحنه سازی و تولید استفاده می کنید ، مفید باشد. بسیاری از تیم ها از API های مرحله ای برای آزمایش استفاده می کنند و بعداً به API های تولیدی روی می آورند. وقتی این پیکربندی ها از هم جدا شوند ، دیگر نگران استفاده از اعتبارنامه های نامناسب در محیط نامناسب نخواهید بود.

این به شما کمک می کند تا از مقادیر سخت کدگذاری در برنامه خود جلوگیری کنید و به خط لوله CI / CD کمک می کند تا تغییرات را به طور خودکار بر اساس پارامترهای دیگری که ارسال می کنید انجام دهد. داشتن تنظیمات جداگانه به امنیت نیز کمک می کند. این به شما و تیم مهندسی اجازه می دهد اسرار را رمزگذاری شده نگه دارید و هیچ کس مجبور نیست که وارد شود و آنها را به صورت دستی به روز کند.

ابتدا سریعترین تست ها را اجرا کنید

برای بهبود عملکرد ، می خواهید در اسرع وقت بازخورد بگیرید. این بدان معنی است که ابتدا آزمایشات سریعتر خود را انجام دهید اگر قرار است شکست بخورند ، بهتر است قبل از اینکه وقت خود را برای اجرای سایر آزمایشات بگذرانید ، آنها را کنار بگذارید. این بخشی از الگوی “شکست اول” است.

شما می خواهید آزمون ها را به ترتیب مدت زمان انجام آنها از کوتاه ترین به طولانی ترین زمان انجام دهید. به این ترتیب ، همه آن مسائل كوچك می توانند زود حل شوند ، قبل از اینكه خیلی به قسمت دیگر خط لوله بروید. وقتی تست هایی از این قبیل را اجرا می کنید ، زمان زیادی را برای دریافت بازخورد به توسعه دهندگان خود تلف نمی کنید.

ابتدا بر روی CI تمرکز کنید

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

تست های امنیتی وجود دارد و شاید برخی تست های استاتیک دیگر فقط با کد موجود در اینجا انجام شود. این جایی است که کد شما به صورت بسته ای ارسال می شود تا به عنوان مصنوعی ارسال شود. اگر هر مشکلی در مرحله CI رخ دهد ، ممکن است بقیه خط لوله اجرا نشود. حتی بدتر اینکه ، ممکن است یک مصنوعات بدی بدست آورید که در محیط تعامل کاربران با برنامه شما ، محیط پیش تولید و تولید شما را بهم ریخته است.

نظارت را اجرا کنید

یادگیری در مورد آنچه که خط لوله شما طی مراحل مختلف می گذرد ، مناطقی را به شما نشان می دهد که می توانید آنها را بهبود ببخشید. نظارت بر برنامه شما معمولاً انجام می شود ، بنابراین مطمئن شوید که برای خط لوله خود نیز همین کار را انجام می دهید. اگر خطاهایی در روند کار وجود دارد ، یک اعلان را برای افراد مناسب ارسال کنید.

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

فقط با استفاده از خط لوله CI / CD مستقر شوید

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

با این کار اطمینان حاصل می کنید که چندین استقرار به ترتیب صحیح اجرا می شوند تا تغییرات دوباره رونویسی نشوند. همچنین اطمینان حاصل خواهد کرد که در صورت بروز هرگونه عقبگرد ، تغییراتی به ترتیب صحیح درگیر شوند. به این ترتیب شما چند سازنده گیج کننده ندارید که بفهمند چگونه برخی تغییرات عجیب و غریب که هیچ کس ایجاد نکرده است ، به تولید رسیده است.

ظرف سازی را در نظر بگیرید

هر از چند گاهی با این مسئله روبرو می شویم که تغییرات کد روی ماشین های محلی ما کار می کند اما در تولید جواب نمی دهد. تعداد زیادی تفاوت و مجوز محیطی بین دستگاه محلی شما و سرور تولید وجود دارد. ردیابی این موارد معمولاً دشوار است و می تواند منجر به طولانی شدن زمان اشکال زدایی در تولید شود.

این همان جایی است که ظروف وارد می شوند. ظروف باعث می شوند مصنوعات شما دقیقاً به همان روشی که از محیطی استفاده می کنید ، اجرا شوند. در حالی که بسیاری از ابزارهای CI / CD در پس زمینه این کار را برای شما انجام می دهند ، بهتر است تصاویر و محفظه های Docker خود را داشته باشید که مطمئناً کار می کنید. به این ترتیب در صورت بروز مشکل تولید ، می توانید آن را به صورت محلی تولید کرده و بدون مزاحمت کاربران آن را برطرف کنید.

از محیط های تولید مانند استفاده کنید

هدف از محیط های پیش تولید شما این است که به شما کمک کنند قبل از اینکه تغییرات خود را مستقیماً انجام دهید ، آزمایش دقیق انجام دهید. این بدان معناست که تمام آزمایشات واحد ، آزمایشات یکپارچه سازی ، آزمایشات امنیتی و آزمایشات دستی دستی کیفیت در برخی از محیط های پیش تولید اتفاق می افتد. به همین دلیل بسیار مهم است که همه آنها تا حد ممکن با تولید مطابقت داشته باشند.

محیط های پیش تولید شما فقط در صورتی مفید هستند که به شما کمک کنند بفهمید چه اتفاقی در تولید می افتد. اگر با داده هایی کار می کنید که از راه دور شبیه چیزی در تولید نیستند ، سعی کنید یک نسخه مبهم از داده های تولید را تهیه کنید. اگر از خدمات شخص ثالثی استفاده می کنید ، سعی کنید برای حسابی ثبت نام کنید که فقط در محیط های پیش تولید استفاده می شود.

استقرارها را کاملاً خودکار کنید

هدف از اجرای خط لوله استقرار ، حذف کلیه مراحل دستی از آن است. این بدان معناست که پس از شروع کار خط لوله ، هیچ کس مجبور نیست کاری انجام دهد. قبل از شروع اولیه ، دیگر کلیک یا تأیید دکمه لازم نیست.

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

ابتدا تست ها را به صورت محلی اجرا کنید

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

دلیل اینکه ما دوست داریم این کار را انجام دهیم این است که گاهی اوقات افراد دیگر نیاز به ایجاد تغییرات دارند و این باعث ایجاد یک صف می شود. ابتدا با اجرای تست های محلی ، مطمئن شوید که هر چیزی در صف قرار دارد از تست واحد عبور می کند و با صرف وقت اضافی مانع از استقرار سایر برنامه ها نمی شود.

خط لوله ای متناسب با پروژه ایجاد کنید

هیچ دو خط لوله ای وجود ندارند که کاملاً یکسان به نظر برسند. نحوه استقرار یک برنامه کاربردی وابستگی زیادی بر اساس نحوه تنظیم سیستم شما دارد. تمام سرویس های شخص ثالثی که استفاده می کنید ، زبان های برنامه نویسی ای که با آنها کار می کنید و کتابخانه هایی که از همه آنها استفاده می کنید ، در روند استقرار شما نقش دارند.

پس از دانستن همه مواردی که خط لوله شما برای استفاده از آن نیاز دارد ، می توانید بهترین ابزارها را برای برنامه خود جستجو کنید. این یکی از موارد معدودی است که کپی کردن و جایگذاری کد فقط به دلیل همه چیزهای کوچک که باعث می شود خط لوله کار کند ، راه حلی نخواهد بود.

QA را خودکار کنید

این احتمالاً پیچیده تر از برخی دیگر از موارد این لیست است. اگر بخواهید اطمینان حاصل کنید که کاربران تجربه درستی دارند ، چک های خاصی وجود دارد که فقط نمی تواند خودکار شود. اگرچه چند ابزار وجود دارد که کمک می کند تا این مورد کمی خودکار شود.

سلنیوم و TestingWhiz یکی از محبوب ترین ابزارهای تست خودکار هستند. آنها جایگزین آزمایش بصری نیستند ، اما اطمینان حاصل می کنند که بسیاری از مسائل رایج بدون اینکه شخصی از طریق دکمه ها کلیک کرده و کلیک کند ، گرفته می شوند.

نتیجه

کارهای زیادی وجود دارد که می توانید برای بهینه سازی خطوط لوله خود انجام دهید و این فقط یک لیست کوتاه از آنها است. با جمع آوری آماری از میزان اجرای خط لوله ، می توانید مکان هایی را که می توانند بهبود یابند مشاهده کنید. سپس می توانید یکی یا دو مورد از این لیست را برای بهتر کردن آن امتحان کنید.

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

حتما مرا دنبال کن توییتر چون من درمورد مواردی از این قبیل و سایر موضوعات فن آوری پیوسته ارسال می کنم!

اگر فکر نمی کنید ابتدا باید کدام ابزار را بررسی کنید ، برای خط لوله CI / CD خود Conducto را امتحان کنید. بلند شدن و دویدن بسیار آسان است و اشکال زدایی از آن در حین اجرای زنده نیز آسان تر است.

همچنین در https://dev.to/flippedcoding/11-ways-to-potimize-y- استقرار- pipeline-c82

برچسب ها

با هکر نون همراه باشید

حساب رایگان خود را ایجاد کنید تا قفل تجربه خواندن سفارشی خود را باز کنید.