Создание проекта-зеркала


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

Оформление

Для создания нового зеркала проекта нажмите на выпадающее меню в верхнем меню с иконкой +. Выберете вариант “Новое зеркало”.

Зеркалирование

Приватность проекта-оригинала

Для создания зеркала публичного проекта вставьте на странице создания ссылку на репозиторий. Ссылка должна оканчиваться на .git. Все остальные поля заполните как для обычного проекта и нажмите “Создать”. Ваш проект встанет в очередь на зеркалирование и автоматически обновится через некоторое время (обычно в пределах 10 минут, без учета очереди).

Для создания зеркала приватного проекта так же нужно вставить ссылку на проект, оканчивающуюся на .git. Кроме того необходимо заполнить поля Логин и Токен. Есть два варианта заполнения - использовать данные для входа или сгенерированный токен:

  1. Введите в поле Логин почту, а в поле Токен пароль пользователя, который имеет доступ к приватному проекту.

  2. Создайте токен развертывания. Ознакомиться с подробной инструкцией можно здесь. Введите в поле Логин имя юзера, использованное при создании токена. Поле Токен заполните сгенерированным токеном.

Зеркалирование

Стратегия зеркалирования

Зеркало может работать в двух стратегиях: PULL и PUSH. При выборе стратегии PULL создаваемый проект-зеркало будет копировать указанный проект-оригинал. Стратегия PUSH позволяет поддерживать в актуальном состоянии проект, ссылку на который вы указываете.

Из любого проекта можно сделать PUSH зеркало. Для этого необходимо перейти в опасную зону основных настроек выбранного проекта и найти функцию Сделать репозиторий PUSH зеркалом.

Зеркалирование отдельных элементов

Для зеркалирования конкретных веток или тегов есть настройка RefSpec. Маска данного поля имеет следующий вид: refs/<heads/tags>/<branch/tag>:refs/<heads/tags>/<branch/tag>. Часть до : отвечает за элементы, которые будут зеркалироваться. Часть после : отвечает за элементы, в которые будет происходить зеркалирование.

Возможна настройка зеркалирования нескольких веток или тегов одновременно. Для этого необходимо указать отдельную настройку для каждого элемента через запятую

Для зеркалирования всех веток или тегов необходимо указать астерикс * на месте <branch/tag>

Обратите внимание, что не обязательно предварительно создавать пустые ветки, в которые должно происходить зеркалирование. Сервис может создать их самостоятельно.

Примеры:

refs/heads/master:refs/heads/mymaster

*При такой настройке произойдет зеркалирование только ветки master в ветку mymaster*
refs/tags/3.0.0:refs/tags/tag

*При такой настройке произойдет зеркалирование только тега 3.0.0 в тег с названием tag*
refs/heads/develop:refs/heads/dev, refs/tags/*:refs/tags/*

*При такой настройке произойдет зеркалирование ветки develop в ветку с названием dev, а так же всех тегов с идентичным названием*

Завершение создания зеркала

После завершения процесса зеркалирования ваш проект будет иметь ярлык “Зеркало” и содержать в шапке ссылку на исходный проект.

Зеркалирование