Git Product home page Git Product logo

recap's Introduction

Recap

Build Status

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.

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 releases, current or shared directories 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:install task only runs if the app contains a Gemfile.lock file 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:set and env:edit make 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.

Documentation

For more information, the main documentation can be found at http://gofreerange.com/recap/docs.

Prerequistes

  • 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)

Source

The source code is available on Github.

Running Tests

  • 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

Publishing documentation

This defaults to publishing to gofreerange.com but that can be customised by setting the RECAP_DOCS_HOST environment variable.

The fl-rocco gem relies on the pygments Python package being installed (pip install pygments); more specifically the pygmentize binary being available in the PATH.

$ bundle exec rake doc publish

NOTE. The recap docs rely on a rocco.css file being available at #{RECAP_DOCS_HOST}/stylesheets/rocco.css. This was added to our site in e41bac

Credits

Recap was written by Tom Ward and the other members of Go Free Range.

License

Recap is released under the MIT License.

recap's People

Contributors

chrisroos avatar dasch avatar fidothe avatar floehopper avatar jdowning avatar lazyatom avatar lazyatom-and-floehopper avatar lazyatom-and-tomafro avatar mocoso avatar paulostazeski avatar tomafro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.