Каким образом обеспечить деплой проекта?
Если совсем круто хочется - настройте Jenkins или TeamCity. Умеют и с репозитория обновления вытягивать, и билдить, и тесты запускать, и на продакшн деплоить. Документации с примерами в интернете достаточно.
Если простой деплой, то можно взять capistrano или его аналог.
Я для себя открыл Fabric - это решение на python. Но по большему счёту продолжаю пока вручную обновлять проекты на стадии разработки... Для крупных, готовых он конечно незаменим...