Gitea에서 마이그레이션
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
Gitea의 프로젝트를 GitLab으로 가져옵니다. Gitea 가져오기 도구는 Gitea에서 항목의 일부를 가져옵니다. Gitea 가져오기 도구는 GitLab.com과 GitLab Self-Managed에서 마이그레이션 후 사용자 기여 매핑을 지원합니다.
히스토리
- 경로에
.가 포함된 프로젝트를 가져오는 기능이 GitLab 16.11에서 추가되었습니다. - 일부 가져온 항목에 표시되는 Imported 배지가 GitLab 17.2에서 도입되었습니다.
- GitLab 17.8에서 마이그레이션 후 사용자 기여 및 멤버십 매핑으로 GitLab.com에서 변경되었습니다.
- 마이그레이션 후 사용자 및 기여 멤버십 매핑이 GitLab 17.8에서 GitLab.com과 GitLab Self-Managed에 활성화되었습니다.
Gitea의 프로젝트를 GitLab으로 가져옵니다.
Gitea 가져오기 도구는 Gitea에서 항목의 일부를 가져옵니다.
| Gitea 항목 | 가져옴 |
|---|---|
| 리포지터리 설명 | ✅ |
| Git 리포지터리 데이터 | ✅ |
| 이슈 | ✅ |
| 풀 리퀘스트 | ✅ |
| 마일스톤 | ✅ |
| 레이블 | ✅ |
| 풀 리퀘스트의 diff 노트 |
가져오기 도구 워크플로#
Gitea 가져오기 도구는 GitLab.com과 GitLab Self-Managed에서 마이그레이션 후 사용자 기여 매핑을 지원합니다. 이 가져오기 도구는 대안 매핑 방법도 지원합니다.
가져올 때의 동작은 다음과 같습니다.
- 리포지터리의 공개 접근 설정이 유지됩니다. Gitea에서 비공개인 리포지터리는 GitLab에서도 비공개로 생성됩니다.
- 가져온 이슈, 머지 리퀘스트, 댓글에는 GitLab에서 Imported 배지가 표시됩니다.
- Gitea는 OAuth 공급자가 아니므로 작성자나 담당자를 GitLab 인스턴스의 사용자에 매핑할 수 없습니다. 이 경우 프로젝트 생성자(보통 가져오기를 시작한 사용자)가 작성자로 설정됩니다. 이슈에서는 원래 Gitea 작성자를 여전히 확인할 수 있습니다.
- GitLab은 존재하지 않는 네임스페이스나 그룹을 자동으로 생성하지 않으며, 네임스페이스나 그룹 이름이 이미 사용 중이더라도 개인 네임스페이스로 대체하지 않습니다.
사전 요구 사항#
- Gitea 1.0.0 이상 버전.
- Gitea 가져오기 소스를 활성화하거나 GitLab 관리자에게 활성화를 요청해야 합니다. GitLab.com에서는 기본으로 활성화되어 있습니다.
- 가져올 대상 그룹에서의 Maintainer 또는 Owner 권한.
Gitea 리포지터리 가져오기#
가져오는 동안 개인 액세스 토큰을 생성하고 Gitea에서 일회성 승인을 수행해 GitLab에 리포지터리 접근 권한을 부여합니다.
Gitea 리포지터리를 가져오려면 다음을 수행합니다.
-
오른쪽 위 모서리에서 Create new(+)와 New project/repository를 선택합니다.
-
가져오기 승인 절차를 시작하려면 Gitea를 선택합니다.
-
https://your-gitea-instance/user/settings/applications로 이동합니다.your-gitea-instance는 사용 중인 Gitea 인스턴스의 호스트로 바꿉니다. -
Generate New Token을 선택합니다.
-
토큰 설명을 입력합니다.
-
Generate Token을 선택합니다.
-
토큰 해시를 복사합니다.
-
GitLab으로 돌아가 Gitea 가져오기 도구에 토큰을 입력합니다.
-
List your Gitea repositories를 선택하고 GitLab 이 리포지터리 정보를 읽는 동안 기다립니다. 완료되면 GitLab 이 가져올 리포지터리를 선택하는 가져오기 도구 페이지를 표시합니다. 이 페이지에서 Gitea 리포지터리의 가져오기 상태를 확인할 수 있습니다.
- 가져오는 중인 항목은 started 상태로 표시됩니다.
- 이미 정상적으로 가져온 항목은 녹색으로 done 상태가 표시됩니다.
- 아직 가져오지 않은 항목은 표 오른쪽에 Import가 표시됩니다.
- 이미 가져온 항목은 표 오른쪽에 Re-import가 표시됩니다.
-
Gitea 리포지터리 가져오기를 마치려면 다음 중 하나를 수행합니다.
- Gitea 프로젝트를 한 번에 모두 가져옵니다. 왼쪽 위 모서리에서 Import all projects를 선택합니다.
- 프로젝트를 이름으로 필터링해 선택한 프로젝트만 가져옵니다. 필터를 적용하면 Import all projects는 선택된 프로젝트만 가져옵니다.
- 권한이 있다면 프로젝트에 다른 이름과 다른 네임스페이스를 지정합니다.
대안적인 매핑 방법#
GitLab 18.5 및 이전 버전에서는 gitea_user_mapping 기능 플래그를 비활성화해 가져오기에 대안 사용자
기여 매핑 방법을 사용할 수 있습니다.
이 기능의 제공 여부는 기능 플래그로 제어됩니다. 이 기능은 권장되지 않으며 다음에서는 사용할 수 없습니다.
- GitLab.com 으로의 마이그레이션.
- GitLab Self-Managed 및 GitLab Dedicated 18.6 이상 버전으로의 마이그레이션.
이 매핑 방법에서 발견된 문제는 수정되지 않을 가능성이 높습니다. 이러한 제약이 없는 마이그레이션 후 방법을 대신 사용합니다.
자세한 내용은 이슈 512211을 참고합니다.
이 방법을 사용하면 사용자 기여가 기본적으로 프로젝트 생성자(보통 가져오기를 시작한 사용자)에게 할당됩니다.