ontinuous Delivery یک Approach در توسعه نرم افزار است که تیم هایی که محصول را تولید می کنند در بازه های زمانی کوتاه اقدام به انتشار نسخه جدید نرم افزار می نمایند تا رسیک های انتشار محصول را کاهش داده و توانایی های خود در زمینه فنی و انتشار امکانات جدید محصول را بهبود دهند.

if it hurts, do it more often

 تعریف استاندارد Continuous Delivery به شرح زیر است

Continuous delivery is the ability to deliver software that can be deployed at any time through manual releases

ابزارهایی مثل Jenkins و Azure Pipeline و Gitlab در این زمینه برای شما مفید خواهند بود. دور های آموزشی مرتبط با هر یک از ابزارهای ذکر شده در بخش های آموزش Jenkins و آموزش Azure DevOps و آموزش Gitlab قابل مشاهده و خریداری هستند.

اشاره به ایجاد release به صورت دستی نشان دهنده تفاوت اصلی این رویکرد و Continuous Deployment است، وجود ساختار لازم جهت تست و بررسی همه جانبه محصول موضوعی است هزینه بر، که به دلایل مختلف ممکن است یا برای سازمان امکان پذیر نبوده و یا توجیه اقتصادی نداشته باشد، در نتیجه در این رویکرد تصمیم مبنی بر اینکه آیا باید Release صورت گیرد یا خیر توسط انسان گرفته خواهد شد.

در زیر یک مثال از فرآیند این روش و لایه های مختلف Approve کننده قابل ملاحضه است.

آموزش CI CD