Да, SVN был бы отличным инструментом для этой цели. Сохраните свой код (например, пользовательский компонент Joomla) в системе контроля версий. Везде, где вы хотите использовать этот компонент, просто добавьте checkout
или export
этой конкретной папки на ваш действующий сайт. Вот один способ, которым вы можете структурировать свой репозиторий:
unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent
Войдите на свой действующий сервер через SSH и выполните эту команду:
> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent
Каждый раз, когда вы изменяете свой код, фиксируете изменения, а затем снова входите на сервер и запускаете:
> cd path/to/joomla/components
> svn up com_myComponent
Настоящим преимуществом этого является то, что если вы делаете обновление и что-то ломаете, вы всегда можете откатить его до последней известной «хорошей» версии.
Что касается автоматизации этого процесса, вам может не повезти, если он находится на разных серверах. Для нескольких развертываний на одном сервере вы могли бы легко написать сценарий оболочки для запуска вышеуказанных команд для каждого сайта / компонента. Если вам нужно, чтобы это было полностью автоматизировано, вы могли бы даже создать задание cron для запуска этого скрипта каждый день в 2 часа ночи или около того - лично я бы придерживался ручного подхода, но это все еще вариант.
Для локальной работы с вашими SVN-репозиториями я бы порекомендовал взглянуть на TortoiseSVN (если вы работаете в Windows): это самый простой и простой способ работы с SVN.