{"id":5768,"date":"2019-02-05T18:50:20","date_gmt":"2019-02-05T18:50:20","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=5768"},"modified":"2021-11-17T08:59:17","modified_gmt":"2021-11-17T08:59:17","slug":"udeploy-component-rollback-explained","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/udeploy-component-rollback-explained\/","title":{"rendered":"uDeploy Component Rollback explained!!!"},"content":{"rendered":"<p><a href=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2019\/02\/Component-Rollout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5975\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2019\/02\/Component-Rollout.png\" alt=\"\" width=\"400\" height=\"215\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2019\/02\/Component-Rollout.png 400w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2019\/02\/Component-Rollout-300x161.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>What is Rollback?<br>\nAutomatically moving component versions(That is, the environment inventory) to a previous state.<br>\n&#8211; To the versions that were deployed before a process began<br>\n&#8211; To the versions in a snapshot<\/p>\n<p>In most cases, to switch to a different version of a component, you deploy the new version over the existing version. If necessary, you can run the uninstall process for the component first.<\/p>\n<p>In most cases, to switch to a different version of a component, you deploy the new version over the existing version. If necessary, you can run the uninstall process for the component first.<\/p>\n<p>However, you can also use the &#8220;Rollback Component&#8221; step to automate the process of switching to a previous component version. This step has two options:<\/p>\n<ol>\n<li>Replace with Last Deployed: This option rolls back components that fail to deploy. i.e Uninstalling components with an application process.<\/li>\n<li>Remove Undesired Incremental Versions: This option removes versions that are not in a specified snapshot. i.e Rolling back to a snapshot.<\/li>\n<\/ol>\n<p><strong>When Not to use Rollback?<\/strong><br>\n&#8211; When you can deploy the desired version directly<\/p>\n<p><strong>When to use Rollback?<\/strong><br>\n<strong>Scenario 1:<\/strong> Rolling Back a failed deployment automatically &#8211; Catch an error in a process and automatcally redeploy the versions from before the process ran. This keep applications running without downtime. Also called &#8220;Replace with last deployed&#8221;.<\/p>\n<p><strong>Scenario 2:<\/strong> Rolling Back to a Snapshot<br>\nBackup to a known good state. Also Called &#8220;Removed undesired increamental versions&#8221;. Prerequisites of Rolling Back to a Snapshot are&#8230;<br>\n&#8211; A Snapshot<br>\n&#8211; A process that uninstall the component<\/p>\n<p><strong>Reference<\/strong><br>\nhttps:\/\/www.ibm.com\/support\/knowledgecenter\/SS4GSP_7.0.0\/com.ibm.udeploy.doc\/topics\/app_processsteps_rollback.html<\/p>\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_56933\"><figure class=\"wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure\"><div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_54034\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_56933\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div><\/figure><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>What is Rollback? Automatically moving component versions(That is, the environment inventory) to a previous state. &#8211; To the versions that were deployed before a process began &#8211; To the versions in a snapshot In most cases, to switch to a different version of a component, you deploy the new version over the existing version. If&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[4885],"tags":[3609,5187,732,2095],"class_list":["post-5768","post","type-post","status-publish","format-standard","hentry","category-udeploy","tag-component","tag-rollback","tag-steps","tag-udeploy"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=5768"}],"version-history":[{"count":6,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5768\/revisions"}],"predecessor-version":[{"id":25552,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5768\/revisions\/25552"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=5768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=5768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=5768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}