Release retention vs tentacle package retention

I’m confused about the two retention policies (retain releases and retain tentacle packages) and the docs don’t explain them very well.

What does it mean to retain a release? Does this mean keeping the Release object in Octopus’ database and the actual packages on the Octopus server? Or does it only mean retaining the Release object and the tentacle packages need to be retained separately if a redeploy is ever desired? If retaining a release does keep the packages on the server, why would you ever want to retain packages on the tentacles directly?

We want to be able to roll back to old releases, but we do not want to store all the old packages on all our tentacles forever as they are taking up a lot of disk space. We’d like them to just be stored on the server and be able to deployed from there. Is that what the release retention will give us?

Hi @sambull131,

Thanks for reaching out.

Release retention is how many releases you want to keep per project. For instance, if you set the number to 3, when your automatic retention policy task runs, it will delete all releases for projects using that lifecycle other than:

  • The current active release for each environment
  • A rollback version for each environment
  • Plus the number youve indicated for the life cycle.

So let’s say you have 3 environments. Worst case scenario, you will have 9 releases retained, but more than likely it will be around 7.

Library package retention is different in that it will delete packages that are not associated with a release after X days (if you set it to no longer keep all packages). So for instance, if the above retention policy deletes a release, if the package that was used in that release is no longer associated with any other releases, it will get deleted after the selected amount of days if it doesn’t become used again.

Tentacle package retention is just how many package versions you’d like to keep on the tentacle. This will get cleaned up after every deployment to the tentacle (not when the retention task on the server occurs)

The reason you’d want to keep packages on the tentacle is to cut down on potential bandwidth usage. If that’s not a concern for you and disk space is, the package will always re-download for you when necessary.

I know that’s a lot to take in, but hopefully it answers your question.

Please let me know if I explained that okay or if you have more questions.

Thanks,
Jeremy

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.