clowd / Clowd.Squirrel

Quick and easy installer and automatic updates for cross-platform dotnet applications
427 stars 39 forks source link

Rollback and previous version #196

Closed alucard2876 closed 9 months ago

alucard2876 commented 9 months ago

Hello, I have a question related to rollbacks. Can we somehow change a version to lower or manually download previous releases and apply them?

caesay commented 9 months ago

At the moment, this is not possible. I am working on an update to v3, which may make this possible. For now, if you wish to roll all of your users back to a previous version, you must re-publish your older version as a newer version.

Denisjc commented 8 months ago

This makes CI/CD very hard as the rollout of the version is controlled by the build server and stored there So to have a deployment process that is controllable with specific versions is very important. So we should be able at any moment to roll forward and roll back in the deployment.

caesay commented 8 months ago

Hi @Denisjc, I'm not sure exactly I understand what you mean.

  1. If you are working automated via CI, such as reverting commits after discovering a bug, each new CI build will have an incrementing version number and be greater than the version before it, and you will not run into this issue.
  2. If you are looking to remove a release once it's been deployed, so that your users will stop getting it as an update, you can do this manually by removing the line from your RELEASES file wherever it is that you deploy releases.

The part that is not currently possible, is via your installed application, explicitly choosing to install a version which is < the currently installed version. This explicit rollback via client code will be possible in the next version of Squirrel, but it won't be automated.

If you would like to explain your scenario in more detail, I might be able to consider it when implementing new features in the future.