Если вы можете настроить производственный сервер для доступа к репозиторию SVN через защищенный канал, такой как https с webdav, возможно, попробуйте следующее:
Создайте сценарий на производственном сервере, который позволит вам ввести каталог тегов и / или номер / дату ревизии и выполнить экспорт SVN. Таким образом, сервер prod извлекает изменения из svn.
Теперь, если у вас есть способ безопасного вызова этого скрипта, скажем, скрипт коммита. Вуаля, у вас есть автоматизация.
Самое главное, вы не хотите, чтобы автоматическое обновление выполнялось на сервере prod, который вы не планировали.
Чтобы решить это:
Скрипт коммита должен вызывать скрипт обновления prod, только когда что-то зафиксировано в "/ path / to / tags / release / dir"
Убедитесь, что только соответствующий персонал по контролю за изменениями (или тот, кто в настоящее время контролирует ручную сборку продуктов) имеет возможность выполнить svn-копирование в этот каталог в репо.
Например, скажем, ваш репо настроен как:
/yourWebsite
--> /branches
--> /trunk
--> /tags
----> /releases
Коммит, который запускает автоматическое развертывание на prod, будет выглядеть примерно так:
svn copy https://mySvnRepo/yourWebSite/trunk \
https://mySvnRepo/yourWebSite/tags/releases/x.y \
-m "Tagging for production deployment"
Откат может быть достигнут путем фиксации в каталоге предыдущих выпусков. Обратите внимание, что это не приведет к откату новых файлов, которые были добавлены.
Конечно, ваш пробег может отличаться; это только предложение для вашего расследования .
Вам следует потратить время на то, чтобы обдумать последствия для безопасности и возможность катастрофы, если она настроена неправильно.
Надеюсь, это поможет, хотя бы только для того, чтобы вы подумали о других решениях.