Ситуация
У меня есть два сервера - "Производство и развитие". На сервере Production есть два приложения и несколько (6) баз данных (MySQL), которые мне нужно распространять для разработчиков для тестирования. Все исходные коды хранятся в GitLab на сервере разработки, и разработчики работают только с этим сервером и не имеют доступа к производственному серверу. Когда мы выпускаем приложение, мастер регистрируется в процессе производства и вытаскивает новую версию из Git. Базы данных большие (более 500 М каждая и подсчет), и мне нужно как можно проще распространять их для разработчиков для тестирования.
Возможные решения
-
После резервного копирования script, который удаляет базы данных, каждый в один файл, выполняет script, который подталкивает каждую базу данных к своей ветки. Разработчик вытаскивает одну из этих ветвей, если хочет обновить свою локальную копию.Этот файл был найден неработоспособным.
-
Cron на производственном сервере каждый день сохраняет двоичные журналы и помещает их в ветвь этой базы данных. Итак, в ветке есть файлы с ежедневными изменениями, а разработчик извлекает файлы, которых у него нет. Текущий SQL-дамп будет отправлен разработчику другим способом. И когда размер репозитория становится слишком большим, мы отправим полный дамп разработчикам и сфотографируем все данные в репозитории и начнем с самого начала.
Вопросы
- Возможно ли решение?
- Если git нажимает/вытягивает в/из репозитория, загружает/загружает целые файлы или просто изменения в них (т.е. добавляет новые строки или редактирует текущие)?
-
Может ли git управлять такими большими файлами?Нет. -
Как установить, сколько ревизий сохраняется в репозитории?Не имеет значения с новым решением. - Есть ли лучшее решение? Я не хочу, чтобы разработчики загружали такие большие файлы по FTP или что-то подобное.