در این جلسه از لایو کدینگ راهبیا، ادامهی کار روی پیادهسازی CI/CD برای پروژههای چند-مخزنی (multi-repo) رو دنبال میکنیم.multi-repo pipeline DevOps
بعد از شروع اولیه در جلسه قبل، حالا نوبت به تکمیل pipelineها، مدیریت وابستگیها و بهینهسازی فرآیندهای build و تست میرسه.
در جلسه بیستوهفتم لایو کدینگ RahBia تمرکز اصلی روی پیشبرد CI/CD در پروژههای چند-مخزنی (multi-repo) است. پروژههای multi-repo در مقایسه با mono-repo پیچیدگی بیشتری دارند، چون نیاز به هماهنگی بین چند مخزن مستقل وجود داره. همین موضوع باعث میشه طراحی pipelineها چالشبرانگیزتر ولی در عین حال حرفهایتر باشه.
در این جلسه یاد میگیریم چطور با استفاده از triggerها اجرای pipelineها رو در مخازن مختلف کنترل کنیم و وابستگیهای بین سرویسها رو به شکل درستی مدیریت کنیم. این کار کمک میکنه تغییرات در یک سرویس بهطور خودکار باعث build و تست سرویسهای مرتبط هم بشه.
یکی دیگه از بخشهای مهم جلسه، مدیریت artifactهاست. خروجیهای build (مثل imageها یا باینریها) باید به شکلی مدیریت بشن که هم برای تست و هم برای مراحل بعدی استقرار در دسترس باشن. اینجا با روشهایی آشنا میشیم که اجازه میدن artifactها به راحتی بین مخازن به اشتراک گذاشته بشن و سرعت توسعه بالاتر بره.
در ادامه، روی بهینهسازی pipelineها کار میکنیم:
-
کاهش زمان اجرا با caching و parallel jobs
-
طراحی jobهای منعطفتر برای پوشش سناریوهای مختلف
-
اضافه کردن تستهای یکپارچه (integration tests) قبل از استقرار
هدف این جلسه اینه که یک ساختار پایدار، مقیاسپذیر و امن برای CI/CD پروژههای multi-repo داشته باشیم. نتیجه نهایی یک زیرساخت خودکار و قابل اعتماد خواهد بود که تیمها میتونن با خیال راحت توسعه بدن و سریعتر به مرحله استقرار برسن.