이 글에서는 GitLab의 ‘Project Import’ 기능을 활용해 GitHub에서 GitLab으로 프로젝 트를 마이그레이션 하는 방법을 소개합니다. 아울러 GitHub Actions에서 GitLab 파이프라인으로 수동 마이그레이션 하는 방법도 알아봅니다. A 플랫폼에서 B 플랫폼으로 마이그레이션 하는 과정을 복잡하고 어렵게 느끼는 분들도 있을 텐데요. GitLab에서는 마우스 클릭 몇 번으로 쉽고 간단하게 마이그레이션을 진행할 수 있습니다.
사전 준비
- GitLab 관리자가 GitHub에서 프로젝트 소스를 가져오는 기능을 활성화해야 합니다.
- 대상이 되는 GitLab 프로젝트 그룹에 Maintainer 이상 권한이 있어야 합니다.
- GitLab 이메일 주소와 일치하는 GitHub 공개 이메일 주소가 있어야 합니다.
- GitHub 계정에는 GitHub 공개 이메일 주소가 있어야 합니다. 이는 모든 Comment와 Contribution이 GitLab에서 동일한 사용자에게 올바르게 대응되기 위함입니다.
GitHub 리포지터리를 GitLab으로 가져오기
1. GitHub과 연동하기
GitHub과의 통합은 GitLab.com에서 기본으로 활성화되어 있습니다.
자체 관리형 GitLab 인스턴스를 사용 중이거나 GitHub Enterprise에서 가져올 때, 이 프로세스를 수행하려면 GitHub 통합을 구성해야 합니다.
- GitLab 홈페이지 왼쪽 사이드바에서 Projects를 누른 다음, Projects 페이지 오른쪽 상단에서 New Project 버튼을 클릭합니다.
- 그다음, Import project 상자를 클릭합니다.

- Import project 페이지에서 GitHub 버튼을 누릅니다.
- Authenticate with GitHub 버튼을 클릭합니다.
Personal Access Token을 사용하여 GitLab.com으로 가져올 수도 있습니다.

- GitHub에 로그인합니다.
- 마이그레이션 하려는 프로젝트가 저장된 GitHub 조직명 맨 오른쪽에 Grant 버튼을 클릭합니다.
- Authorize gitlabhq 버튼을 클릭해 선택한 조직에 GitLab 액세스 권한을 부여합니다.

2. 프로젝트 가져오기
GitHub 리포지터리의 액세스를 승인하면 GitHub에서 리포지터리 가져오기(Import repositories from GitHub) 페이지로 리디렉션되고 GitHub 리포지터리가 나열됩니다.
-
프로젝트에서 가져올 항목을 Advanced import settings에서 선택합니다. Import issue and pull request events를 클릭해 추가 항목을 가져오겠습니다.
마이그레이션 하려는 항목이 많을수록 가져오는 데 시간이 더 오래 걸립니다.
프로젝트에서 가져올 항목을 GitLab ‘GitHub import’ 페이지에서 선택한 모습. 출처=GitLab
-
GitHub 프로젝트를 마이그레이션 할 GitLab 경로를 지정한 후, Import 버튼을 누르면 가져오기가 시작됩니다.
GitLab ‘GitHub import’ 페이지에서 GitHub 프로젝트 마이그레이션 경로를 지정한 모습. 출처=GitLab
-
UI에서 진행 상황을 볼 수 있습니다.
-
가져오기가 완료되면, 상태가 ‘complete’로 바뀝니다.