Несколько проектов Rails, над которыми я работаю, ценят частые инкрементные обновления, что, на мой взгляд, здорово. Наша текущая стратегия развертывания - ручная, но мы рассматриваем возможность перехода на автоматизированный инструмент, такой как Capistrano; однако мне также пришло в голову, что, может быть, даже лучше вместо этого просто развернуть рабочую копию Subversion.
Вот преимущества, которые я сразу вижу:
svn update
).svn update -r 123
).svn info
/ svn diff
).Конечно, эта стратегия не подходит для крупных организаций, в которых есть средства контроля и разделения среды, но, помимо этого, каковы некоторые недостатки этой стратегии по сравнению с формальным инструментом автоматического развертывания?
Что происходит, когда кто-то фиксирует быстрое некорректное изменение или совершает фиксацию с оставшейся отладкой?
Вам лучше пометить коммиты как «производственные» или что-то подобное, если вы хотите, чтобы коммит был развернут. Затем создайте сценарий развертывания, который периодически проверяет наличие новой производственной версии, удаляет все файлы / параметры отладки и помещает файлы в нужное место.