Recap is an opinionated set of Capistrano deployment recipes, that use git's strengths to deploy applications and websites in a fast and simple manner.
- Releases are managed using git.  All code is deployed to a single directory, and git tags are used to manage different released versions.  No releases,currentorshareddirectories are created, avoiding unnecessary sym-linking.
- Deployments do the minimum work possible, using git to determine whether tasks need to run.  e.g. the bundle:installtask only runs if the app contains aGemfile.lockfile and it has changed since the last deployment.
- Applications have their own user account and group, owning all of that application's associated files and processes.  This gives them a dedicated environment, allowing environment variables to be used for application specific configuration.  Tasks such as env,env:setandenv:editmake setting and changing these variables easy.
- Personal accounts are used to deploy to the server, distinct from the application user. The right to deploy an application is granted simply by adding a user to the application group.
For more information, the main documentation can be found at http://gofreerange.com/recap/docs.
- Recap's built-in tasks only support deploying to Ubuntu
- Your user account (as opposed to the application account) must be able to sudo
- Your user account should be able to connect to the remote git repository from your deployment server(s)
The source code is available on Github.
- 
Run the following commands from the checked out project directory. 
- 
Install dependencies (assumes the bundler gem is installed). $ bundle install
- 
Run specs $ bundle exec rake
- 
Install VirtualBox - only necessary if you want to run Cucumber features. 
- 
Install and provision a test VM based on the Vagrantfile (assumes VirtualBox is installed) $ bundle exec vagrant up
- 
Run features $ bundle exec cucumber
Recap was written by Tom Ward and the other members of Go Free Range.
Recap is released under the MIT License.
