تقسیم خودکار Github Actions پرونده آزمایشی RSpec کند در کارهای موازی برای پروژه Ruby on Rails

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

@knapsackproکوله پشتی حرفه ای

تست های خود را تسریع کنید. 1 ساعت مجموعه آزمایشی را در 2 دقیقه با موازی سازی بهینه در سرور CI اجرا کنید.

تقسیم مشاغل ایجاد شده CI بین چندین دستگاهی که به طور موازی در حال کار هستند ، راهی عالی برای سرعت بخشیدن به روند کار است که منجر به زمان بیشتری برای ساخت ویژگی ها می شود. اقدامات Github به راحتی امکان اجرای مشاغل موازی را فراهم می کند. در مقاله قبلی ، ما توضیح دادیم که چگونه می توانید از Knapsack Pro برای تقسیم پرونده های آزمایشی RSpec خود به طور موثر بین کارهای موازی در اقدامات GitHub استفاده کنید. امروز می خواهیم نشان دهیم که چگونه می توان مشکل پرونده های کند تست را که بر کل زمان ساخت تأثیر منفی دارند ، برطرف کنیم.

انشعاب را در نظر بگیرید

تصور کنید پروژه ای با 30 پرونده مشخصات RSpec دارید. هر پرونده شامل چندین نمونه آزمایشی است (RSpec “

it

s “). اکثر پرونده ها از تست های واحد سریع و قوی برخوردار هستند. بگذارید بگوییم برخی از پرونده های کندتر نیز وجود دارند ، مانند مشخصات ویژگی ها. شاید اجرای یکی از این مشخصات پرونده مشخصات تقریباً 5 دقیقه طول بکشد.

هنگامی که ما پرونده های مختلف مشخصات را بر روی دستگاه های مختلف موازی اجرا می کنیم ، در تلاش هستیم تا زمان اجرای مشابه را برای همه آنها انجام دهیم. در یک سناریو توصیف شده ، حتی اگر 30 کار موازی (هر کدام فقط یک پرونده آزمایشی اجرا می کنند) را اجرا کنیم ، مشخصات ویژگی 5 دقیقه ای گلوگاه کل ساخت خواهد بود. 29 ماشین ممکن است در عرض چند ثانیه کار خود را به پایان برسانند ، اما کل ساخت …

سئو PBN | خبر های جدید سئو و هک و سرور