Rollback

در پروسه توسعه و استقرار پروژه‌های نرم‌افزاری یکی از مسائلی که اهمیت دارد stable ماندن نسخه جدید و دسترسی‌پذیری آن است.
اما نکته‌ای که وجود دارد این است که اشتباه انسانی همیشه وجود دارد و گریزی از آن نیست، اما می‌توان با راه‌ حل‌های متفاوتی هزینه جبران این قبیل اشتباهات را کم کرد.
یکی از این راه‌ها Service Rollback است.

Service Rollback

سکوی ابری فندق تاریخچه‌ای از Deploymentهای هر سرویس را ذخیره و نگهداری می‌کند تا شما با استفاده از آن بتوانید در صورت نیاز به هر نسخه‌ای که می‌خواهید عملیات Rollback را انجام داده و آن نسخه را جایگزین نسخه فعلی کنید.
برای این منظور شما ابتدا باید توسط دستور زیر لیست تاریخچه Deploymentهای مربوط به سرویس فعلی را دریافت کنید.

fandogh service history list --name service_name

پارامتر‌هایی که برای این دستور استفاده شده است عبارتند از:

name--
برای مشخص کردن نام سرویسی است که قصد دارید تاریخچه Deploymentهای آن را مشاهده کنید.

بعد از آنکه لیست تاریخچه برای شما نمایش داده شد، با استفاده از دستور زیر می‌توایند عملیات Rollback را برای سرویس مورد نظر انجام دهید.

fandogh service rollback --name service_name --version history_version

پارامتر‌هایی که برای این دستور استفاده شده است عبارتند از:

name--
برای مشخص کردن نام سرویسی که قصد دارید عملیات Rollback بر روی آن انجام شود. version--
همان شناسه تاریخچه مربوط به سرویس است که در جدول نمایش داده شده با تیتر History Version مشخص شده است.

نکته

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

هشدار

همچنین به این موضوع توجه کنید که نسخه‌هایی که در تاریخچه مشخص شده‌اند، لزوما نسخه‌های stable نیستند بلکه تاریخچه‌ای از Deploymentهای شما هستند و این وظیفه کاربر است که قبل از انجام Rollback، مانیفست نسخه مورد نظر را بررسی کند.

اگر در لیست تاریخچه‌های Deployment که برای شما نمایش داده شده است، مطمئن هستید که نسخه‌ای معیوب یا باگی به شما نمایش داده شده است، این امکان را فراهم کرده‌ایم تا آن نسخه را برای همیشه حذف کنید تا در نمایش‌های بعدی باعث ایجاد اشتباه در روند Rollback نشود.
برای این منظور می‌توانید از دستور زیر استفاده کنید:

fandogh service history delete --name service_name --version history_version

پارامتر‌هایی که برای این دستور استفاده شده است عبارتند از:

name--
برای مشخص کردن نام سرویسی که قصد دارید یکی از تاریخچه‌های آن را حذف کنید.
version--
همان شناسه تاریخچه مربوط به سرویس است که در جدول نمایش داده شده با تیتر History Version مشخص شده است.

هشدار

توجه داشته باشید که حذف کردن تاریخچه یک عملیات غیرقابل بازگشت است و نسخه حذف شده برای همیشه از سکوی ابری فندق حذف خواهد شد؛ لذا قبل از انجام عمل حذف، از تصمیم خود اطمینان حاصل فرمایید.

مدیریت Service History و Rollback

 CLI Image

کلیه دستورات مربوط به بخش Service History و ‍‍Rollback در ادامه توضیح داده شده‌اند.

fandogh-cli

شما همچنین می توانید با وارد کردن دستورfandogh service --help و fandogh service histoy --help در fandogh-cli، لیست دستورات موجود را مشاهده کنید.

Service History

list

با استفاده از دستور fandogh service history list --name service_name می‌توانید یک secret ایجاد کنید.

name--
پارامتر name نمایانگر نام سرویسی است که می‌خواهید تاریخچه Deploymentهای آن را مشاهده کنید.

delete

با استفاده از دستور fandogh service history delete --name service_name --version history_version می‌توانید یک نسخه مشخص از Deployment سرویسی که نام آن را وارد کرده‌اید، حذف کنید.

name--
پارامتر name نمایانگر نام سرویسی است که می‌خواهید نسخه‌ای مشخص از تاریخچه Deploymentهای آن را حذف کنید.
version--
پارامتر version نمایانگر نسخه‌ای از Deployment است که می‌خواهید آن را حذف کنید.

Rollback

rollback

با استفاده از دستور fandogh service rollback --name service_name --version history_version می‌توانید به نسخه‌ دلخواه عملیات Rollback را انجام دهید.

name--
پارامتر name نمایانگر نام سرویسی است که می‌خواهید عملیات Rollback را بر روی آن انجام دهید. version--
پارامتر version نمایانگر نسخه‌ای از Deployment است که می‌خواهید جایگزین نسخه فعلی شود.