Tentacle cleanup when changing channels

gavin.burke's Avatar

gavin.burke

19 Feb, 2018 01:54 PM

Hi, I will start of by saying I think I use channels correctly, in that they define the versions of app that can go (i.e. 1.0.0.xxx) and then I give the channel it's own lifecycle with a cleanup policy of only having 3 previous releases on the tentacle.

The problem I am seeing is that when an environment now gets another channel deploying (i.e. because they are now getting 1.1.0.xxx of the app), the 4 previous 1.0.0.xxx never gets cleaned up, the 1.1.0.xxx lifecycle is only cleaning deployments matching the new release.

This means as a client gets more and more minor releases, the endpoint is just getting vary stale, old and big files left behind (i.e. by the time they're at 1.5.0.xxx, they'll 20 releases on the tentacle that won't get cleaned up.

Is there anything I can do about the above happening? Am I using channels/lifecycles incorrectly? Should I be promoting releases some other way?

Or is there an overall flaw with the cleanup....

Hope the above has made sense!
Thanks
Gavin

  1. Support Staff 1 Posted by Eddy Ma on 20 Feb, 2018 03:54 AM

    Eddy Ma's Avatar

    Hi Gavin,

    Thanks for getting in touch! I've set up similar settings locally based on the information you've provided, and it looks like it's working as expected.

    If your goal is to keep only 3 releases on Tentacle regardless of channel/version rules, you would want to select Considered for the entire project option under the Discrete Channel Releases section in your project's settings page.

    Also note that both the Octopus server and NuGet repository retention policies are run under a scheduled task from the Octopus server every 4 hours. The Tentacle retention policy runs during a deployment, so you can check the deployment task log to see if any files got cleaned up.

    You can find more information about retention policies with channels in this doc page and retention policies in general in this doc page.

    I hope this helps! Let me know what you think and how you go.

    Regards
    Eddy

  2. 2 Posted by gavin.burke on 20 Feb, 2018 08:32 AM

    gavin.burke's Avatar

    Hi Eddy

    Do you know if this was only fixed in 4.0 as I’m on 3.17.14 and I do not see any Discrete Channel Releases section under the Project settings, only Name, Description, Group, Versioning, Package Step and Package Re-Deployment?

    I see the cleanup policy being ran at the end (Apply retention policy on Tentacles<http://neilwind.kssretail.local/app>) but can see that when it says “Keeping this deployment and the previous 3 successful deployments”, it is only cleaning up one deployment from this channel, it does not see the older releases

    Thanks
    Gavin

  3. Support Staff 3 Posted by Eddy Ma on 21 Feb, 2018 04:39 AM

    Eddy Ma's Avatar

    Hi Gavin

    I apologize for pointing you to the project settings page. I was incorrectly assuming you were using version 4.x.

    The Discrete Channel Releases was introduced in version 3.12.2, and it's under Project > Process > Deployment Target settings. I've attached a screenshot showing this setting.

    I have searched our issues repo and I couldn't find any changes that are related to this issue since 4.0. Provided you are on the latest of 3.x, it should behave the same way.

    Could you havea look and check which setting you have? In case this doesn't work, would you mind sending me a copy of your verbose deployment log with debugging variables enabled? This documentation page outlines how you can produce and export this verbose log.

    I hope this helps! Let me know how you go.

    Regards
    Eddy

  4. 4 Posted by gavin.burke on 23 Aug, 2018 02:16 PM

    gavin.burke's Avatar

    Brilliant, changing that setting worked thanks!

  5. gavin.burke closed this discussion on 23 Aug, 2018 02:16 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac