Подробно о работе ГД при подготовке репозитория гитлаб
Раздел: Прочие темы
Кто-нибудь знает подробно как именно работает приложение ГД, когда используется гитлаб для формирования обновлений? Допустим удаленный реп используется долгое время, накопилось огромное кол-во файлов в разных ветках, размер репы > 2 GB. После рестарта контейнера с приложением, заходим в раздел установки обновлений и ждем подготовку репозитория, процесс может занимать до 30-40 минут. Что именно в этот момент делает приложение? Просто клонирует реп и парсит файлы из соответсвующей стенду ветки? Кто нибудб пробовал чистить реп? Что больше влияет на подготовку репозитория в приложении, кол-во файлов или размер репозитория?
Вообще были ли у кого-нибудь успешные кейсы очистки репозитория
Войдите или Зарегистрируйтесь чтобы комментировать.
Комментарии
Добрый день. Подготовим рекомендации
Какая версия приложения используется вами?
Подготовили ответы на ваши вопросы
1. как именно работает приложение ГД, когда используется гитлаб для формирования обновлений?
При запуске приложение клонирует 4 репозитория:
В дальнейшем, приложение работает с этими локальными репозиториями, также обновляет ветки из удаленного репозитория и пушит в удаленный репозиторий.
Что именно в этот момент делает приложение?
При старте приложение клонирует репозитории только с нужными ветками.
Что больше влияет на подготовку репозитория в приложении, кол-во файлов или размер репозитория?
На подготовку репозитория влияет занимаемый им размер.
Да, у нас имеется такой кейс.
Рекомеданций для очистки репозитория
Почистить частично - технически не возможно, поскольку каждое обновление - это коммит и если схлопнуть часть коммитов, то у остальных поменяется SHA и испортятся ссылки на эти обновления в ветках test, release **и **rollback
Примерный алгоритм очистки:
Переключение стенда между старыми и новыми ветками:
меняем в настройках все ветки
запускаем /api/sys/update/git/clone-repository
У нас отдельная версия в компании. По сути как описано в вике так и работает
https://docs.greendata.ru/platform/ru/update-system.html#podkluchenie
Спасибо, попробую