Предварительная версия. Функциональность может измениться, но основные возможности сохранятся. Совместимость с будущими версиями может потребовать ручных действий по миграции.

Pull mirroring

Позволяет настроить зеркалирование репозитория.
На странице проекта откройте SettingsRepositoryMirroring repositories.

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


Инструкция по настройке pull-зеркалирования репозитория

1. Перейдите на страницу проекта

  1. Откройте ваш проект в GitLab.
  2. В меню слева нажмите SettingsRepository.
  3. Перейдите в раздел Mirroring repositories.

2. URL репозитория

  • Учётные данные, указанные в URL, будут проигнорированы — их необходимо указать ниже, в разделе аутентификации.

3. Настройте аутентификацию

  1. В разделе Authentication method (Метод аутентификации) выберите Username and password (Имя пользователя и пароль), если репозиторий требует авторизации по HTTP(S).
  2. Укажите:
    • Username (Имя пользователя)
    • Password (Пароль)
  3. Если вы используете SSH-зеркалирование, укажите имя пользователя (обычно git). После создания зеркала будет сгенерирован SSH-ключ, через который будет осуществляться доступ.

4. Особенности LFS (Large File Storage)

  • При pull-зеркалировании объекты LFS будут создаваться только, если LFS включён в вашем проекте GitLab.

Механика работы

  • Задания зеркалирования назначаются в джобе Projects::PullMirrorScheduleWorker раз в час.
  • Зеркалирование каждого проекта запускается каждые 6 часов.
  • Максимальное число попыток при неудачном завершении — 5. При нажатии на кнопку «Обновить сейчас» счётчик неудачных попыток сбрасывается.
  • Если Sidekiq-джоба завершится аварийно, её статус обновится через 3 часа, и задание снова будет добавлено в очередь.