Product SiteDocumentation Site

13.2.4. Создание зеркала репозитория

Создание зеркала позволяет автоматически синхронизировать репозиторий Forgejo с внешним Git-репозиторием. Зеркала используются для дублирования репозиториев и организации обмена данными между различными системами управления версиями.
Основные сценарии использования:
  • перенос проекта в Forgejo с сохранением связи с исходным репозиторием. В этом случае можно создать pull-зеркало, которое будет периодически получать изменения из внешнего репозитория. История коммитов, ветки и теги будут доступны в Forgejo;
  • сохранение копии проекта во внешней системе. В этом случае можно создать push-зеркало, которое будет автоматически отправлять изменения из Forgejo в удаленный репозиторий.

13.2.4.1. Pull-зеркало удаленного репозитория

Pull-зеркало позволяет получать изменения из внешнего репозитория в Forgejo.
Pull-зеркало можно создать только при создании нового репозитория. Преобразовать существующий репозиторий Forgejo в pull-зеркало через веб-интерфейс невозможно.
Для создания pull-зеркала необходимо:
  1. Нажать кнопку +Выполнить перенос:
    Forgejo. Веб-интерфейс
  2. Выбрать источник репозитория:
    Forgejo. Выбор источника
  3. В поле Перенос/Клонирование по URL указать адрес удаленного репозитория.
    Если удаленный репозиторий является приватным, необходимо указать токен доступа в поле Токен доступа. Выбрать необходимые параметры переноса и установить отметку в поле Этот репозиторий будет зеркалом:
    Forgejo. Параметры миграции

    Примечание

    Не следует включать параметры переноса, если соответствующие данные отсутствуют в исходном репозитории. Например, выбор переноса задач или релизов при отсутствии таких данных может привести к ошибке миграции.
  4. Нажать кнопку Перенос репозитория.
После создания зеркала Forgejo будет периодически получать изменения из удаленного репозитория.

13.2.4.2. Создание push-зеркала

Push-зеркало позволяет автоматически отправлять изменения из репозитория Forgejo во внешний Git-репозиторий.
Для добавления push-зеркала в существующий репозиторий необходимо:
  1. Открыть настройки репозитория.
  2. Перейти в раздел Зеркалирование.
  3. Указать URL удаленного репозитория:
    Forgejo. Настройки зеркалирования
  4. Настроить параметры авторизации.
  5. Нажать кнопку Добавить push-зеркало.
Для доступа к удаленному репозиторию могут использоваться:
  • имя пользователя и пароль;
  • токен;
  • SSH-ключ.
При использовании SSH-авторизации Forgejo генерирует пару ключей. Публичный ключ необходимо добавить в настройках удаленного репозитория или учетной записи, имеющей права на отправку изменений.
Дополнительно можно настроить:
  • синхронизацию при отправке новых коммитов;
  • периодическую синхронизацию через заданный интервал времени.
В этом разделе также можно:
  • просмотреть состояние синхронизации;
  • вручную запустить синхронизацию;
  • скопировать сгенерированный SSH-публичный ключ.

Примечание

Зеркалирование не заменяет полноценное резервное копирование. При удалении данных в исходном репозитории изменения могут быть также переданы в зеркало. Для защиты от потери данных необходимо использовать отдельную систему резервного копирования.