Мы обычно разворачиваем наши программные приложения для наших клиентов, используя Subversion (svn update на клиентах; однонаправленный).В настоящее время у нас возникают проблемы с одним из наших клиентов из-за высокой задержки (большие скорости загрузки файлов хороши), поскольку они находятся в Китае, а наш сервер - в Канаде.Subversion просто истекает с ошибкой после очень длительного периода времени.
Наше приложение имеет множество небольших файлов (.aspx, .config и т. Д.) И несколько файлов большего размера (.dll, .jpg) на общую сумму около 100–200 МБ.
В настоящее время я рассматриваю возможность сделать следующее:
- Выполнить локальную проверку svn на сервере
- Zip результат
- FTP или rsyncбольшой zip-файл на стороннем компьютере
- Распаковка файла во временную папку.
- Выполнение локальной rsync из этой временной папки в нашу обычную папку установки.
Есть ли лучшие решения?
- Настройка зеркала Subversion ближе к месту назначения?(Мне понадобится всего несколько часов в месяц, но может быть трудно найти)
- Использование другой системы контроля версий?(Git лучше для соединений с высокой задержкой)?
- Существуют ли способы упаковки патчей Subversion (включая двоичные файлы) для повторного применения в месте назначения вместо отправки всех данных?
- Будет ли лучше использовать DropBox (который использует Amazon S3) для передачи файлов во временную папку?