ویرگول
ورودثبت نام
شهروز جعفری
شهروز جعفریبرنامه نویس
شهروز جعفری
شهروز جعفری
خواندن ۳ دقیقه·۷ سال پیش

Continuous Delivery

Continuous Delivery یک رویکرد منضبط در تولید نرم افزار است که در آن نرم افزار را به گونه ای تولید می کنیم که می توانیم آن را در هر زمان روی محیط عملیات منتشر کنیم.

چه زمانی در حال انجام Continuous Delivery هستیم؟

  • نرم افزار در سراسر چرخه عمر خود قابل تحویل است.
  • تمرکز و اولویت تیم به روی قابل تحویل نگه داشتن نرم افزار است تا بر بر روی ویژگی های جدید.
  • میتوانیم با فشردن کلید انتشار هر ورژن از نرم افزار را روی هر محیطی که نیاز داریم انتشار دهیم.
  • قابلیت فیدبک گرفتن سریع و اتوماتیک از محیطی که در آن تغییرات داده شده بعد از تغییرات را داریم.

زمانی به هدف اصلی continuous delivery می رسیم که بتوانیم از اجرای Continuous integration توسط تیم توسعه،ساخت برنامه های قابل اجرا و نوشتن تست های اتوماتیک و اجرای تست ها روی آن برنامه ها برای یافتن خطاها و مشکلات اطمینان حاصل کنیم.همچنین کدهای نوشته شده روی محیط های شبیه به محیط عملیات به صورت مداوم انتشار پیدا می کنند ،تا اطمینان حاصل کنیم که نرم افزار روی محیط عملیات به درستی کار خواهد کرد.

یک سنجه کلیدی برای اینکه بتوانیم مطمئن شویم که آیا رویکرد Continuous Delivery برقرار باشد این است که فرض کنیم یک فرد از کسب و کار نیاز داشته باشد که ورژن جاری که توسعه داده شده است ،روی محیط عملیات انتشار پیدا کند و ما بتوانیم آن کار را بدون ترس انجام دهیم.

برای رسیدن به Continuous Delivery چه کارهایی را باید انجام دهیم؟

  1. همکاری بسیار نزدیک بین تمام کسانی که درگیر فرایند تحویل هستند.
  2. اتوماتیک کردن وسیع تمام بخش ها از فرایند تحویل.

تفاوت Continuous Delivery و Continuous Deployment

معمولا دو واژه Continuous Deployment و Continuous Delivery ممکن است کمی گیج کننده به نظر برسند.Continuous Deployment به معنی این است که هر تغییری در طول روز به صورت اتوماتیک در محیط عملیات انتشار پیدا می کند.به عبارتی تعداد زیادی پابلیش در طول روز خواهیم داشت.Continuous Delivery نیز به این اشاره دارد که می توانیم به صورت مکرر روی محیط عملیات ،تغییرات را منتشر کنیم اما ترجیح ما و یا کسب و کار این است که این کار اتفاق نیافتد و با نرخ کمتری این کار انجام شود.به عبارتی برای رسیدن به Continuous Deployment نیاز داریم Continuous Delivery را رعایت کنیم.

Continuous Integration

Continuous Integration به معنای ساخت ،یکپارچگی و تست کدها در محیط توسعه است.

مزایای continuous delivery

کم کردن ریسک انتشار:تا زمانی که تغییرات به صورت سریع و کوچک انتشار پیدا می کنند ،ریسک تغییرات کم می شود و در صورت بروز خطا می توانیم به راحتی آن ها را فیکس کنیم.

قابلیت اندازه گیری پیشرفت و تعریف دقیق انجام شده:فرض کنید معنی انجام شده (done) به معنای انتشار در محیط عملیات باشد.در این صورت به راحتی می توان پیشرفت در کار را اندازه گرفت.

بازخورد کاربران:بزرگترین ریسک برای نوشتن یک نرم افزار ،ایجاد قابلیت هایی است که کاربر نهایی نیازی به آن ها ندارد.با استفاده از انتشار سریع به کاربران میتوانیم بازخورد سریعتری از کاربران دریافت کنیم و تمرکز را روی ویژگی هایی بگذاریم که برای کاربر نهایی ارزش دارند.

یک راه مناسب برای رسیدن به Continuous Delivery این است که فرایند کنونی تحویل را مدل کنید و سپس گلوگاه ها،نقاط مناسب برای اتوماتیک سازی و نقاطی که باید در آن همکاری ها افزایش یابد شناسایی و برای آنها برنامه ریزی کنید.

۷
۰
شهروز جعفری
شهروز جعفری
برنامه نویس
شاید از این پست‌ها خوشتان بیاید