Features & Aims
Releases are managed using git. All code is deployed to a single directory, and git tags are used to manage different released versions. No
shareddirectories 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 a
Gemfile.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: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 here.
The source code is available on Github.