Предварительная версия. Функциональность может измениться, но основные возможности сохранятся. Совместимость с будущими версиями может потребовать ручных действий по миграции.
Pull mirroring
Позволяет настроить зеркалирование репозитория.
На странице проекта откройте Settings → Repository → Mirroring repositories.
📘 Если репозиторий пуст, его сначала нужно импортировать, так как при зеркалировании срабатывают все хуки, и стягивание большого репозитория создаёт нагрузку на компоненты системы.
Инструкция по настройке pull-зеркалирования репозитория
1. Перейдите на страницу проекта
- Откройте ваш проект в GitLab.
- В меню слева нажмите Settings → Repository.
- Перейдите в раздел Mirroring repositories.
2. URL репозитория
- Учётные данные, указанные в URL, будут проигнорированы — их необходимо указать ниже, в разделе аутентификации.
3. Настройте аутентификацию
- В разделе Authentication method (Метод аутентификации) выберите Username and password (Имя пользователя и пароль), если репозиторий требует авторизации по HTTP(S).
- Укажите:
- Username (Имя пользователя)
- Password (Пароль)
- Если вы используете SSH-зеркалирование, укажите имя пользователя (обычно
git
). После создания зеркала будет сгенерирован SSH-ключ, через который будет осуществляться доступ.
4. Особенности LFS (Large File Storage)
- При pull-зеркалировании объекты LFS будут создаваться только, если LFS включён в вашем проекте GitLab.
Механика работы
- Задания зеркалирования назначаются в джобе
Projects::PullMirrorScheduleWorker
раз в час. - Зеркалирование каждого проекта запускается каждые 6 часов.
- Максимальное число попыток при неудачном завершении — 5. При нажатии на кнопку «Обновить сейчас» счётчик неудачных попыток сбрасывается.
- Если Sidekiq-джоба завершится аварийно, её статус обновится через 3 часа, и задание снова будет добавлено в очередь.