Существует множество инструментов, платформ и пакетов, которые решают проблемы, которые вы описали. В общем, они попадают в категорию автоматизации сборки , так что вы можете начать с этого.
Сокращение может быть легко выполнено во время процесса сборки сервером сборки.
Развертывание, однако, само по себе является огромной темой, и существуют различные инструменты, которые помогут вам сделать Capistrano , казалось бы, самым популярным.