Зеркалирование GitHub -> GitLab
В этом репозитории хранится Github Actions workflow, который поддерживает зеркало GitHub репозитория на GitLab.
Как использовать workflow, чтобы настроить зеркало для вашего репозитория:
-
Убедитесь, что у вашего пользователя статус
MaintainerилиOwnerна уровне группы. Если нет, попросите администратора изменить статус. - Импортируйте проект на GitLab:
- Перейдите на https://gitlab.actcognitive.org/
- В правом верхнем углу нажмите на
New project - Выберите
Import project - Выберите
GitHub - Введите ваш
access token(его можно сгенерировать по инструкции, название может быть любым, срок действия обычно выставляют до одного года, средиscopesобязательно надо выбратьrepo) - Найдите в списке ваш проект
- Задайте рядом с ним вашу группу на GitLab (для проектов NSS Lab используйте ITMO-NSS-team)

- Нажмите
Import
- Уберите ветку main из списка защищённых:
- На GitLab откройте ваш проект
- Откройте
Settings=>Repository - В разделе
Protected branchesнайдите в списке веткуmainи нажмитеUnprotect
- Задайте секреты
GITLAB_USERиGITLAB_PASSWORDв вашем репозитории на GitHub. Необходимо использовать настоящие логин и пароль от GitLab. Если у вас несколько открытых репозиториев внутри одной организации, можно задать секреты на уровне организации, тогда все открытые репозитории их унаследуют. Для приватных всегда секреты надо задавать на уровне репозитория.- Откройте ваш репозиторий/организацию
- Откройте раздел
Settings - Слева выберите
Security=>Secrets=>Actions - Создайте секреты
- В репо на GitHub создайте файл
/.github/workflows/mirror_repo_to_gitlab.ymlс таким содержанием: ``` name: Mirror repo to GitLab
on: [push, pull_request, delete]
jobs:
call-nss-ops-mirror-workflow:
uses: aimclub/open-source-ops/.github/workflows/mirror-repo.yml@master
with:
GITLAB_URL: ‘
-
Не забудьте подставить нужное значение в
GITLAB_URL. -
Параметр
uses: aimclub/open-source-ops/.github/workflows/mirror-repo.yml@masterменять НЕ надо.
Каждый push в репозиторий будет автоматически запускать этот action. Все commit-ы и ветки будут синхронизованы автоматически. PR-ы, issue и wiki НЕ будут синхронизированы.
При импорте репозитория на GitLab через UI, issue и PR-ы также будут скопированы, но все дальнейшие их изменения НЕ будут синхронизироваться.
Return to Homepage