We are using Microsoft's Release Management tool for automating the deployment of our solution to our various dev servers. This tool is ideal for us because it can perform more complicated deployments that span multiple servers. In this sense, it is working fine and everything is deploying correctly.
A minor issue is that after Release Management automatically deploys a build, it sets the build to "Retain Indefinitely" which is indicated by the Lock icon. Since we are doing continuous deployment, we are retaining a large number of builds and the Build Definition's retention policy is overridden. I therefore have to go in periodically and highlight all of the previous builds and unselect Retain Indefinitely.
Because we are not deploying past dev with Release Management (we unfortunately aren't allowed to), we don't need to keep all of these dev builds around.
Is there a way to change Release Management so that it doesn't set builds to Retain Indefinitely?
Update: Since this is not currently possible, if you would like this feature, please vote for it on UserVoice: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6537614-allow-retain-indefinitely-to-not-be-set
Release Management follows the model of Lab Management, whereby if a Build is deployed it is retained indefinately.
This allows you to alter the build quality etc as the build is verified and signed off, you may then promote / do whatever with that build without fear that it will be deleted by the retention policy.
you just need to do it as a daily / weekly / monthly admin task, choose your build from the drop down list in the build screen and then show all.
highlight all of the builds and then click the remove retention button.
if it bothers you that much you could write a script to find all of the builds and then remove the lock.
psudo:
I have a solution to this, rather a workaround.
I have customized our build definition with the following Sequence (for TFS 2013) at the beginning of the workflow. This sequence grabs all succeeded builds for the definition and clears the Retain Indefinitely.
This means only the last ran build will have the flag. It also means you can't set a build as retain indefinitely for that definition. That is OK for us in this specific situation as it is for continuous integration builds (like the poster).
Edit: Changing to include All builds (was Successful only) as a build is marked as failed and still set to retain indefinitely if the build succeeds but release fails.
As of RM for TFS 2013.3, this is not possible. According to Teodora Stanev on this post, this is by design.
Feel free to post a request on the Visual Studio UserVoice site