Ищете безопасное удаленное обновление SVN после фиксации

Я использую среду разработки, создания, создания сервера с некоторыми другими разработчиками.

Сейчас мы делаем изменения, тестируем их на нашем dev-сервере (персональном компьютере), а затем, когда мы довольны изменениями и хотим показать их клиенту или внутренним обзором, мы совершаем изменения в репозитории и обновляем рабочую копию промежуточного сервера через samba (черепахаSVN) или ssh.

Это становится очень утомительным и повторяющимся. Я ищу, чтобы обновить удаленный сервер промежуточной фиксации после завершения фиксации, но единственные параметры, похоже, связаны с жестким кодированием пользовательских кредитов в hook для SSH или создания сетевого монтирования с учетной записью пользователя. Есть ли способ передать аутентификацию пользователя из первоначальной фиксации на промежуточном сервере для обновления или каких-либо других предложений?

Другие решения для установки приветствуются.

Если вы беспокоитесь о жестких настройках учетных данных SSH пользователя в своем скрипте, вы можете создать пару ключей SSH без пароля. На конечной машине вы захотите ограничить эту пару ключей только запуском Subversion, добавив

command="/path/to/svnserve -t" 

перед файлом авторизированных ключей SSH, например:

 command="/usr/bin/svnserve -t" ssh-dss <key text> 

Измените свой скрипт hook, чтобы использовать этот ключ для входа в систему, и у вас будет (немного) больше безопасности, чем традиционный SSH-ключ без пароля.

Считаете ли вы использование автоматизированной системы, такой как CruiseControl ( http://cruisecontrol.sourceforge.net/ ) на промежуточном сервере?

CruiseControl может быть настроен для проверки наличия новых проверок и последующего запуска сборки (обычно это проверка, как первый шаг).

Вы можете даже контролировать разные ветви и выполнять автоматическую интеграцию и выпуск сборок, в зависимости от того, какая ветвь получила изменения.

Мы используем эту идиому очень успешно для наших автоматизированных сборок.