Gitea에서 GitLab으로 프로젝트 가져오기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • GitLab 15.8에서 소개되었으며, 더 이상 존재하지 않는 네임스페이스나 그룹을 GitLab이 자동으로 생성하지 않습니다. 그리고 네임스페이스나 그룹 이름이 사용 중이라면 더 이상 사용자의 개인 네임스페이스를 사용하지 않습니다.

Gitea에서 프로젝트를 GitLab으로 가져오세요.

Gitea 가져오기 도구는 다음을 가져올 수 있습니다:

  • 리포지터리 설명
  • Git 리포지터리 데이터
  • 이슈
  • 풀 리퀘스트
  • 마일스톤
  • 레이블

가져올 때 리포지터리의 공개 액세스는 유지됩니다. Gitea에서 리포지터리가 비공개인 경우 GitLab에도 비공개로 생성됩니다.

Gitea는 OAuth 제공자가 아니기 때문에, 작성자/할당자를 GitLab 인스턴스 사용자에게 매핑할 수 없습니다. 이는 프로젝트 작성자(일반적으로 가져오기 프로세스를 시작한 사용자)가 작성자로 설정된다는 것을 의미합니다. 그러나, 원본 Gitea 작성자에 대한 참조는 이슈에 유지됩니다.

알려진 문제점

  • 이슈 434175로 인해 경로에 마침표가 포함된 프로젝트는 모든 항목이 정상적으로 가져와지려면 이름을 변경해야 합니다.

사전 요구 사항

  • Maintainer 역할에 대한 요구사항은 GitLab 16.0에 도입되었으며, GitLab 15.11.1 및 GitLab 15.10.5에 백포트되었습니다.
  • Gitea 버전 1.0.0 이상.
  • Gitea 가져오기 원본이 활성화되어 있어야 합니다. 활성화되어 있지 않은 경우, GitLab 관리자에게 활성화하도록 요청하세요. Gitea 가져오기 원본은 GitLab.com에서 기본적으로 활성화되어 있습니다.
  • 가져올 대상 그룹에서 적어도 Maintainer 역할이 필요합니다.

Gitea 리포지터리 가져오기

Gitea 가져오기 페이지는 새 프로젝트를 생성할 때 보입니다. Gitea 가져오기를 시작하려면:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기 () 및 새 프로젝트/리포지터리를 선택합니다.
  2. 가져오기 인증 프로세스를 시작하려면 Gitea를 선택합니다.

개인 액세스 토큰을 사용하여 리포지터리에 대한 액세스 인증

이 방법을 통해 한 번만 Gitea에서 GitLab에 대한 액세스 인증을 수행할 수 있습니다:

  1. https://your-gitea-instance/user/settings/applications(사용 중인 Gitea 인스턴스의 호스트로 대체하세요)로 이동합니다.
  2. 새 토큰 생성을 선택합니다.
  3. 토큰 설명을 입력합니다.
  4. 토큰 생성을 선택합니다.
  5. 토큰 해시 값을 복사합니다.
  6. GitLab로 돌아가서 토큰을 Gitea 가져오기 도구에 제공합니다.
  7. Gitea 리포지터리 디렉터리 보기를 선택하고 GitLab이 리포지터리 정보를 읽는 동안 기다립니다. 완료되면 GitLab은 가져올 리포지터리를 선택할 수 있는 가져오기 페이지를 표시합니다.

가져올 리포지터리 선택

Gitea 리포지터리에 대한 액세스를 인증하면 Gitea 가져오기 페이지로 리디렉션됩니다.

여기서 Gitea 리포지터리의 가져오기 상태를 볼 수 있습니다:

  • 가져오는 중인 경우 started 상태로 표시됩니다.
  • 이미 성공적으로 가져온 경우 녹색으로 done 상태가 표시됩니다.
  • 아직 가져오지 않은 경우 테이블의 오른쪽에 가져오기가 표시됩니다.
  • 이미 가져온 경우 테이블의 오른쪽에 재가져오기가 표시됩니다.

또한 다음을 수행할 수 있습니다:

  • 왼쪽 상단에서 모든 프로젝트 가져오기를 선택하여 한 번에 모든 Gitea 프로젝트를 가져올 수 있습니다.
  • 이름으로 프로젝트를 필터링합니다. 필터가 적용된 경우, 모든 프로젝트 가져오기는 선택한 프로젝트만 가져옵니다.
  • 권한이 있다면 프로젝트의 이름과 네임스페이스를 다르게 지정할 수 있습니다.