Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for recommendations on how to automate / simplify deployment from a git repository (github) to a hosting service. The hosting service supports FTP (yuck) / SSH / SFTP access.

Any good tools out there to give push-button deployment of new revisions? I know it's not a hard script to write, but when you start thinking about things like roll-back and multiple sites, it gets complicated enough that I'd rather not re-invent the wheel.

share|improve this question
up vote 4 down vote accepted

If you don't want to install git on the remote (hosting) server then there are a couple of pretty good options:



I prefer the latter because it's version tracking and deployment features are combined.

I have also seen people who do have git installed on their remote server use a cron job to run git pull every few hours. This works best if you have a branch for live completed code and a branch for new features etc.


It's actually an application called Deploy that CodeBase integrates with (both made by the same team).

share|improve this answer

I've found Pagodabox to be the easiest repo as well as host to develop on, and its free for basic accounts.

share|improve this answer

What I'd try and do is create your git repository in a directory structure like:


Then just pull different revisions appropriately. This method also keeps your .git folder out of the way of what your visitors might browse for. I can't exactly say much more without knowing specifics.

share|improve this answer

Have a look at Webistrano, which is a Web UI for managing Capistrano deployments. It lets you manage projects and their stages like test, production, and staging with different settings. Those stages can then be deployed with Capistrano through Webistrano.

We've been using it for a few years, deploying from our Subversion repo, but it supports Git as well. Rollbacks, multi-server deploys, etc., are supported.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.