I write software for a company with global distribution sites. The software runs on various Windows (server 2003) servers located throughout the world.
Users run the software by accessing it from shares on the servers. Each server runs a suite of services that form the infrastructure of our application.
When we do an upgrade we tend to perform the following task on each server
- Stop all the services
- Copy the new binaries from a central location to the server
- Run any database update scripts
- Start the services
- Cross our fingers and hope everything has worked.
This is a very manual, tedious, time consuming, error prone operation.
I was wondering if someone could recommend software to automate our release procedures?
I'd really like a 'rollback' feature, and the ability to schedule releases.
All recommendations welcomed.