I have a Rails app that is stored in CVS because that is our corporate standard. It needs to be deployed to a single production server that is running Rails using Apache and Phusion Passenger.
About the production server:
- RedHat Enterprise Linux 5.1
- The app is used internally at our company, not hosted externally.
- I have root access and can install necessary software.
- I have ssh access to the box, and can also run cvs there if needed.
Current Solution:
I have been using a patched version (a couple of CVS fixes) of capistrano for this, but it's overkill. (I've looked at vlad the deployer, but it does not support CVS.) I want something simpler, with fewer dependencies/patches.
Desired Solution:
- I want deployment to be a single command that checks out the tip of the CVS tree and deploys it.
- I want rollback to be a single command that reverts to the previously installed version.
- A couple of Rakefile tasks, or a shell script would be fine.
- Releases need to be uniquely identifiable--either via timestamp, CVS tag, or some sort of version number.