Зеркалирование репозитория между хостингами
В предыдущей статье Синхронизация репозитория от GitHub к GitLab я рассказал о том, как организовать синхронизацию между репозиториями #Git на разных хостингах, в частности, между #GitHub и #GitLab. В итоге, я решил сделать собственный GitHub Action, который позволяет полностью зеркалировать репозитории.
Использование
Для подключения зеркалирования, к примеру, с #GitHub на #GitLab, необходимо в исходном репозитории создать файл .github/workflows/mirror.yml
, в котором указать следующее содержимое:
|
|
src_repo
- URL исходного репозитория.src_user
- пользователь исходного репозитория.src_token
- токен пользователя исходного репозитория.dsc_repo
- URL зеркального репозитория.dsc_user
- пользователь зеркального репозитория.dsc_token
- токен пользователя зеркального репозитория.
В этом коде стоит обратить внимание на параметр target_repo
. #GitLab позволяет автоматически создавать репозиторий при зеркалировании, а так как у меня адреса репозиториев совпадают между #GitHub и #GitLab, мне гораздо проще выстроить конструкцию https://gitlab.com/${{ github.repository }}.git
. Переменная ${{ github.repository }}
содержит имя пользователя / организации и название репозитория, и, при настройке зеркалирования репозитория на #GitHub’е, зеркало репозитория автоматически создаётся на #GitLab’е.