Continuous Deployment (انتشار مداوم)

Continuous Deployment یا به اختصار CD به معنی «انتشار مداوم» به رویکردی در صنعت توسعهٔ نرم‌افزار اشاره دارد که به موجب آن هر آپدیتی که روی سورس‌کد پروژه صورت گیرد، چنانچه تست‌هایی مبنی بر اطمینان حاصل کردن از عملکرد صحیح آن‌ها و همچنین سازگاری با سایر کامپوننت‌ها را پشت سر بگذارند، به صورت خودکار روی سرور اصلی دیپلوی می‌گردند و بلافاصله کاربران نرم‌افزار شاهد تغییرات خواهند بود.

Continuous Deployment گاهی اوقات با Continuous Delivery اشتباه گرفته می‌شود چرا که هر دو با سرواژهٔ CD شناخته می‌شوند. در Continuous Delivery که یک گام قبل از Continuous Deployment قرار دارد، تیم مهندسی همواره این آمادگی را دارا است تا آخرین نسخه‌ از نرم‌افزار را در هر زمانی منتشر نماید که این نسخه می‌تواند شامل قابلیت‌های جدید، تغییرات پیکربندی، رفع باگ‌ها و ... باشد.

این دو مفهوم ارتباط تنگاتنگی با Continuous Integration دارند که به مجموعه‌ای از اقدامات اشاره می‌کند که طی آن‌ها تغییرات در سورس‌کدی که روی سیستم تک‌تک دولوپرها قرار دارد با ریپازیتوری اصلی یکپارچه می‌شوند به طوری که هر تغییری در سورس‌کد در سریع‌ترین زمان ممکن و همچنین به صورت خودکار چند بار در روز تست و بیلد می‌گردد.

یکی از مزایای «انتشار مداوم» آن است که هیچ‌گونه وقفهٔ زمانی مابین توسعهٔ نرم‌افزار و دیپلوی آن روی سرورهای اصلی وجود نخواهد داشت اما در عین حال فرآیندهای تست و مانیتورینگ در این پروسه به مراتب حساس‌تر هستند چرا که هیچ عامل انسانی در این پروسه دخیل نیست و کلیهٔ روندها توسط سیستم‌های خودکار صورت می‌گیرد به طوری که در برخی مواقع صرفاً دقایقی پس از تغییر در سورس‌کد و موفقیت‌آمیز بودن تست‌ها، تیم مهندسی انتشار خروجی کار خود را شاهد خواهد بود.

به طور کلی، از جمله مزایای Continuous Deployment می‌توان به این نکته اشاره کرد که سرعت توسعهٔ نرم‌افزار به مراتب بالاتر خواهد رفت مضاف بر اینکه کاربران اپلیکیشن همواره شاهد بهبودها و آپدیت‌هایی هستند که در نهایت می‌توانند منجر به تجربهٔ کاربری بهتری شوند.

online-support-icon