in Umbraco Deploy, is it possible to publish (promote content and templates & publish them on the destination environment),
and then rollback the changes completely using Umbraco Deploy? (If some crisis is detected)
I am refereeing to an on-prem Umbraco installations (ver. 8 and above)
This is not a question about restore (pulling content from production to dev environments), but a desire to completely reverse the promotion (content deploy) action in the production environment,
if the answer is NO, then - is there any third-party product that knows how to accomplish this?
The Umbraco rollback feature isn't granular enough for you to be like "this specific value change was done by admin/system, this other value change was done by editor". It saves/publishes the whole node as is, and the whole node is a "version".
Given that you want to publish changes on X number of nodes, and then later you want to roll back those changes, who knows how many newer versions exist on any of the affected nodes? So you can't just roll back one version, you'd need it to be timestamped somehow. And then you run the risk of deleting who knows how much content that might only exist on the environment you are rolling back.
So no, even if you yourself for instance structure your content in a highly, highly modular way where all "pages" are built by picking reusable "components" that you then publish via Deploy or whatever, there isn't anything built in to those tools to allow you to roll back versions. At least not to my knowledge.
That part shouldn't be all that difficult to do via an API controller, though. You could call an endpoint with a list of node ID's and a timestamp. Then for each node you'd need to delete versions newer than timestamp value (https://apidocs.umbraco.com/v9/csharp/api/Umbraco.Cms.Core.Services.IContentService.html#Umbraco_Cms_Core_Services_IContentService_DeleteVersions_System_Int32_DateTime_System_Int32_). But it still requires a quite special content structure :-/
Backup Umbraco db before deploy and restore backup if you want to rollback. If using devops then the rest (media, templates etc) is in the code deploy which you can easily rollback.
That would be the best and pretty much only way!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With