تحویل مداوم یاContinuous Delivery :
توانایی اعمال تغییرات در محیط عملیات در هر لحظه با روش سریع و مطمئن و بهطرز کاملاً پایدار میباشد. این تغییرات شامل همه انواع آن از جمله تغییرات پیکربندی در نرمافزار، زیرساخت و پلتفرم، افزودن ویژگیهای جدید، رفع باگ و خطاها میباشد.بهطورکلی تحویل مداوم (CD)بهعنوان توانایی ارائه بروزرسانیهای محصول به مشتریان در سریعترین زمان ممکن و مکرر تعریف میشود، که این بروزرسانیها شامل رفع اشکال ساده، عملکرد بهبود یافته یا یک رابط جدید طراحی شده باشد . CD فرآیند و پروتکلهایی را برای ارسال سریع کد در کوتاهترین زمان ممکن تعریف میکند.
هدف از تحویل مداوم این است که انتشار و تحویل نرمافزار را بخصوص برای سیستمهای توزیعشده در مقیاس بسیار بزرگ و محیطهای عملیاتی پیچیده به یک فرایند قابلپیشبینی و ساده تبدیل کند و این تنها درصورتی امکانپذیر است که کدهای نرمافزار همیشه در وضعیت آماده برای انتشار باشند. بهاینترتیب روش سنتی فازهای ادغامIntegration،تست و پیکربندی و Hardening جای خود را به روشهای اتوماتیک میدهد. همچنین زمان آماده شدن برای انتشار، زمان مهاجرت به محیطهای دیگر و زمان برطرف کردن رخداد در محیط عملیات را کاهش میدهد.
ارتباطContiuous DeliveryوDevOps: DevOps ترکیبی از فلسفهها ،شیوهها و ابزارهای فرهنگی است که توانایی سازمان را برای ارائه برنامهها و خدمات با سرعت بالا افزایش میدهد .توسعه و بهبود محصولات با سرعتی سریعتر از سازمانهایی که فرایندهای توسعه نرمافزار سنتی و مدیریت زیرساخت استفاده میکنند ،با فرهنگDevops انجام شود. این سرعت سازمانها را قادر میسازد تا به مشتریان خود خدمات بهتری ارائه دهند و بهطور مؤثرتری در بازار رقابت کنند. بنابراین می توان تحویل مداوم را بخشی از فرهنگ Devopsدانست، منتها دامنه Devopsبسیار گستردهتر از CD است، درحالیکه تحویل مداوم روشی است که برای اتوماتیک سازی زنجیرهی تحویل محصول است و بر روی این موضوع تمرکز دارد که فرایندهای مرتبط در کنار هم طوری اجرا شود که منجر شود محصول نرمافزاری سریعتر، امنتر و با تکرار بیشتری به دست مشتری برسد.
مزایای استفاده از Continuous Delivery :
_ انتشار نرمافزار با حداقل ریسک
_بروزرسانی سریعتر
_ کیفیت بیشتر
_ فشار روانی کمتر بر روی توسعه دهنده ها
چالشهای موجود در Continuous Delivery : ارتباط ضعیف بین تیمها ،هزینههای زیرساختی، تست ضعیف ،اتکای بیشازحد به اتوماسیون.
منابع :
https://www.redhat.com/en/topics/devops/what-is-continuous-delivery