0. 들어가며
이 글에서는 GitLab과 GitHub을 미러링하는 방법을 정리하였습니다.
GitLab을 홈 서버에 구축하였지만, 서버 데이터가 손실되거나 예상치 못한 상황으로 서버에 접속할 수 없을 경우를 대비해 데이터를 지속적으로 백업해야 한다고 판단했습니다.
제가 찾아본 백업 방법은 아래와 같습니다.
- GitLab 내장 백업 : GitLab에서 제공하는 기능을 사용하여 데이터를 백업하는 방법
- 파일 시스템 백업 : GitLab 데이터를 수동으로 백업하는 방법
- 원격 스토리지 백업 : GitLab 데이터를 S3와 같은 원격 스토리지로 백업하는 방법
- Github Repository와 미러링하는 방법 : GitHub의 기능을 이용해 GitLab Repository와 미러링하는 방법
위 방법 중 가용성을 최대한으로 높히고 가장 설정하기 쉬운 방법이 Github와 미러링하는 방법이라고 판단되어 미러링을 선택하게 되었습니다.
목차
- GitHub Access Token 발급
- GitHub Repository 생성
- GitLab Repository 생성
- Mirroring 설정
1. GitHub Personal Access Token 발급
GitHub 계정에서 Settings > Developer Settings > Personal access tokens로 이동.


- 발급 받은 후 token 값은 꼭 저장해주세요.
2. GitHub Repository 생성

3. GitLab Repository 생성

4. Mirroring 설정
4.1 Settings > Repository > Mirroring repositories로 이동.


4.2 GitHub 미러링 설정
- URL: GitHub Repository HTTPS URL 입력.
- Username: GitHub 계정 ID 입력.
- Password: 발급받은 Personal Access Token 입력.

- Mirror direction: Push (GitLab → GitHub).
4.3 Mirroring 확인
- 설정 후 미러링 상태 확인:
- Last successful update가 나타나면 성공적으로 설정된 것.
- 미러링이 작동하지 않을 경우 새로고침 버튼 클릭하여 강제 Push.

참고자료