Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Easy heroku-style deployment for Ruby applications. Just say 'git push'.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
.gitignore
Gemfile
MIT-LICENSE
README.rdoc
Rakefile
pushdeploy.gemspec

README.rdoc

Pushdeploy

Pushdeploy is a very simple replacement for capistrano to deploy your rails applications. It works just as on heroku - you just say 'git push' and everything is done. No 'cap deploy' and no additional release folders.

How it works

  • It installs a post-receive hook in your git repository which runs 'git pull' and then runs 'after_deploy.rb' script.

  • after_deploy.rb runs bundler, migrate, restarts passenger and launches all additional commands you may specify.

Installation

Install is very easy and consist of two steps. Let's say you have two machines:

One is a development machine where you do all the development and from which you do git commits and pushes. Another one is a production machine where you push your commits and where your webserver is running.

  • On your development machine. Inside of your project root folder:

    gem install pushdeploy
    pushdeploy_create_config

It will create auto_deploy.rb script in your 'config' folder. You can edit it to add any additional commands you want to launch on your production machine after 'git push'.

  • On your production machine. Inside of your project root folder:

    gem install pushdeploy
    pushdeploy_install_hook

It will install a post-receive hook in your git repository. First it will try to determine the path to your repo and if it can't it will ask you some questions about your enironment. You can also launch in manual mode by using option '-m'.

Note, that if you're using RVM you have to be in the gemset that is right for this current project. Or you have to run pushdeploy_install_hook with the option '-m' and specify your gemset and ruby version manually.

Credits

Inspired and watched into code of github.com/tpope/hookup and github.com/remi/pushand

Something went wrong with that request. Please try again.