What do you use to manage the workflow of deploying your application after the build completes? I'm not talking about just the act of getting files on a server, I'm talking about what happens after that. Verification, testing, approval, migration to production, retiring old builds, etc.
Example:
- Build completes
- Build is deployed to a test environment
- Testing is completed (manual step)
- If testing passes deploy to UAT else reject build
- UAT is completed (manual step)
- If UAT passes deploy to Prod else reject build
- Retire build previously in Prod
Any good applications out there that can manage long running build workflows?
Update
I should also mention that I'm looking for tooling that actually implements the workflow and not just to track what state it's in. (Copy build, change build status, send emails, start/stop services, etc)