We are planning to optimize and to some extend automate release management process we have. I was sure there are existing tools allowing to do that, but when I tried searching them they either seem to be too complex to understand the value or not what we need. So, required functionality:
- Integrate with TFS source control, or take build artifacts (MSI installers and release notes) from TeamCity build server. Those builds should be available only for QAs or other internal staff.
- At some point we need to say that specific version is either beta or RTM and it becomes available for UAT.
- After UAT is done version can be approved for distribution. At this point release notes are remade to meet marketing standards and final version should be become available for end-users. Important note here is that we must specify which exact users should see that version (we often produce client-specific version which nobody else should see).
- Security and managing visibility of each release is important at each step.
- It would be great to know who downloaded each release version. We have only few dozen of clients so it is often good to know who have already upgraded and who have not.
- Cancelling already published release is sometimes invaluable feature, especially if you find important bug and nobody downloaded it yet.
- At each step notification should be sent to users who got access to new version (especially at 3rd step).
- At the moment we do not expect automatic installation of new versions, just publishing URLs to download installers from. Though it may be useful to have this ability to automatically update QA and UAT machines (if approved).
What I've tried:
Basically, collected suggestions from collegues and googled for similar questions. Results include:
- Microsoft release management
- Serena Release Control
- Rocket Ultimate release management
- Plutora Release manager
- XebiaLabs XL Release
- BMC Software Release Lifecycle Management
Well, a number of options, but from the basic overview of features I'm not sure these products can give what I need. Did anybody have experience with them or other tools and can recommend if it possible to setup the release management process I described?