Существуют пакеты сборки, такие как Capistrano и Phing , которые могут помочь в более сложных развертываниях. Capistrano основан на Ruby, так что это более естественный выбор для приложений RoR, а Phing (основанный на PHP) может быть немного более удобным для проектов на основе PHP. По моему опыту, Phing кажется менее зрелым, чем Capistrano, но немного более гибким, поскольку не предполагает, что вы работаете с проектом Ruby, как Capistrano. Это полностью мнение, конечно.
Оба стремятся к более тщательному конфигурированию, но как только вы спроектировали сценарий развертывания, вы можете запустить одну команду, и все будет происходить за вас, пока вы смотрите. Оба инструмента могут интегрироваться с системой контроля версий, такой как SVN, и доставлять копии вашего проекта из хранилища для вас. Вы также можете разбить ваше развертывание на части, как традиционный Makefile , который помогает с тестированием и повторным использованием. Если вы хотите, чтобы процесс, который вы проходите, чтобы ваши выпуски были пуленепробиваемыми и согласованными, вам нужно использовать инструмент, который будет управлять всеми необходимыми для вас шагами, чтобы вы удалили компонент, связанный с ошибками.