Зеркалирование репозитория между хостингами
В предыдущей статье Синхронизация репозитория от 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’е.