Посмотрите на Капистрано, как говорили другие, это фантастика:)
$ cap deploy
Это все, что вам нужно сделать.Он извлечет последний источник из вашего репозитория git / SVN (намного больше поддерживается ofc), развернет и перезапустит ваш сервер приложений.