Continuous Integration
در این دوره روش های مدیریت کد و تست نرم افزار ارائه می گردد.
اگه تا حالا درگیر یه پروژه نرم افزاری بزرگ بودین حتما براتون اتفاق افتاده که گاهی اوقات تغییراتی که همکارتون روی کد ایجاد میکنه باعث از کار افتادن کد شما میشه. بنظرتون چطور میشه جلوی این مسئله رو گرفت؟ تمام تیمهای نرم افزاری بزرگ در دنیا این مشکل رو داشتن و برای حل اون دنبال استفاده از روشهای اتوماتیک و قابل اعتمادی بودن تا جلوی هرجور خرابکاری در محصول توسط دولوپرهاشون رو بگیرن.
Continuous Integration مجموعه ای از تکنیک ها و ابزاری هست که دائما سلامت نرم افزار رو چک میکنه و این ضمانت رو میده که تغییرات اعمال شده در کد باعث بروز مشکل نشن.
ابزارهای حیاتی که برای دستیابی به یک CI قابل اعتماد و کاربردی لازم هستن عبارتند از Git و Docker. اغلب ما شاید با هردوی اونها کار کرده باشیم ولی کنار هم قرار دادن اونها برای تولید یک ارزش ثالث به نام CI چیزی هست که ما قضد داریم در این ورکشاپ به اون بپردازیم.
در این دوره ما از Docker و مزایای اون برای آماده سازی سریع پیش نیازهای اجرای یک برنامه و همچنین شبیه سازی محیط Production به صورت محلی (لوکال) صحبت می کنیم. سری به روشهای مدیریت کد در Git میزنیم و هرچی که شما باید در مورد پیاده سازی unit test و integration test بدونید رو توضیح میدیم. دونستن همه اینها پیش نیاز آماده سازی یک چرخه Continuous Integration برای توسعه و تست سریع و قابل اطمینان نرم افزار خواهند بود که به تفصیل به آن خواهیم پرداخت.
مثالی از استفاده از CI در مهندسی نرم افزار. ابتدا لازم است تعریفی از Continuous Integration داشته باشیم.
روشی نوین در مهندسی نرم افزار که به کمک آن میتوانید توسعه پروژه جاری را در ازای هر تغییرات با سرعتی بیشتر و مطمئن تر انجام دهید. در واقع اگر شما ورژن کنترل دارید، به ازای هر کامیت بعد از تست، از پروژه یک build گرفته می شود.