У меня есть приложение Rails, которое хранится в CVS, потому что это наш корпоративный стандарт. Его необходимо развернуть на одном рабочем сервере, на котором запущены Rails с использованием Apache и Phusion Passenger.
О производственном сервере:
- RedHat Enterprise Linux 5.1
- Приложение используется внутри нашей компании, а не за его пределами.
- У меня есть root-доступ и я могу установить необходимое программное обеспечение.
- У меня есть ssh доступ к коробке, и я также могу запускать там cvs, если это необходимо.
Текущее решение:
Я использовал для этого исправленную версию (пару исправлений CVS) capistrano, но это излишне. (Я посмотрел на vlad the deployer, но он не поддерживает CVS.) Я хочу что-то более простое, с меньшим количеством зависимостей / патчей.
Желаемое решение:
- Я хочу, чтобы развертывание было единственной командой, которая проверяет верхушку дерева CVS и развертывает его.
- Я хочу, чтобы откат был единственной командой, которая возвращается к ранее установленной версии.
- Подойдет пара задач Rakefile или сценарий оболочки.
- Релизы должны быть однозначно идентифицируемыми - либо по метке времени, по метке CVS, либо по номеру версии.