Bitbucket Server에서 마이그레이션 정보
GitHub Enterprise Importer를 사용하여 리포지토리를 Bitbucket Server에서 GitHub Enterprise Cloud(GitHub.com 또는 GHE.com)로 마이그레이션할 수 있습니다. Bitbucket Server에서의 마이그레이션은 Bitbucket Server 또는 Bitbucket Data Center 버전 5.14 이상에서만 지원됩니다.
마이그레이션되는 데이터
현재는 다음 리포지토리 데이터를 Bitbucket Server에서 GitHub Enterprise Cloud(으)로 마이그레이션하는 것만 지원합니다.
-
Git 원본(커밋 기록 포함)
-
끌어오기 요청(설명, 끌어오기 요청 검토, 파일 및 라인 수준에서 댓글 끌어오기 요청 검토, 필수 검토자 및 첨부 파일 포함)
Note
끌어오기 요청이 병합되었고 마이그레이션 전에 헤드 분기가 Bitbucket Server에서 삭제된 경우 끌어오기 요청을 보려고 할 때
500
오류가 발생할 수 있습니다. Bitbucket Server는 이러한 끌어오기 요청에 대한 개체에 대한 특정 Git 참조를 제거하므로, 끌어오기 요청과 연결된 Git 개체는 마이그레이션할 수 없습니다.
마이그레이션되지 않는 데이터
현재 다음 데이터는 마이그레이션되지 않습니다.
- 사용자가 소유한 개인 리포지토리
- 분기 권한
- 커밋 주석
- 리포지토리 설정
- CI 파이프라인
마이그레이션된 데이터에 대한 제한 사항
GitHub Enterprise Importer에서 마이그레이션할 수 있는 항목에는 제한이 있습니다. 일부는 GitHub의 제한 사항으로 인해 발생하지만 다른 일부는 GitHub Enterprise Importer 자체의 제한 사항입니다.
GitHub의 제한 사항
- 단일 Git 커밋에 대한 2GB 크기 제한: Git 리포지토리의 단일 커밋은 2GB보다 클 수 없습니다. 커밋이 2GB보다 큰 경우 커밋을 각각 2GB 이하인 더 작은 커밋으로 분할해야 합니다.
- Git 참조에 대한 255바이트 제한: 일반적으로 "ref"라고 하는 단일 Git 참조는 255바이트보다 큰 이름을 가질 수 없습니다. 일반적으로 참고자료는 255자를 초과할 수 없지만 이모지와 같은 비 ASCII가 아닌 문자는 둘 이상의 바이트를 사용할 수 있습니다. Git 참고자료가 너무 크면 명확한 오류 메시지가 반환됩니다.
- 100MB 파일 크기 제한: Git 리포지토리의 단일 파일은 100MB를 초과할 수 없습니다. 대용량 파일을 저장하기 위해 Git LFS을(를) 사용하는 것을 고려합니다. 자세한 내용은 "대형 파일 관리"을(를) 참조하세요.
GitHub Enterprise Importer의 제한 사항
- Git 리포지토리에 대한 10GB 크기 제한: 이 제한 사항은 소스 코드에만 적용됩니다. 리포지토리 보관이 한도를 초과하는지 확인하려면 git-sizer 도구를 사용하고 출력의 총 미확인 개체 크기를 검토합니다. git-sizer 도구는 또한 마이그레이션에 영향을 미칠 수 있는 큰 파일 보고서, 미확인 개체 크기, 커밋 크기 및 트리 수와 관련된 잠재적인 문제를 식별하는 데 도움이 됩니다.
- 메타데이터에 대한 10GB 제한: Importer은(는) 10GB 이상의 메타데이터를 사용하여 리포지토리를 마이그레이션할 수 없습니다. 메타데이터에는 문제, 끌어오기 요청, 릴리스 및 첨부 파일이 포함됩니다. 대부분의 경우 큰 메타데이터는 릴리스에 연결된 이진 자산으로 인해 발생합니다.
migrate-repo
명령의--skip-releases
플래그를 사용하여 마이그레이션에서 릴리스를 제외한 다음 마이그레이션 후에 릴리스를 수동으로 이동할 수 있습니다. - Git LFS 개체가 마이그레이션되지 않음: Importer은(는) Git LFS을(를) 사용하는 리포지토리를 마이그레이션할 수 있지만 LFS 개체 자체는 마이그레이션되지 않습니다. 마이그레이션이 완료된 후 후속작업으로 마이그레이션 대상에 푸시할 수 있습니다. 자세한 내용은 "리포지토리 복제"을(를) 참조하세요.
- 후속작업 필요: GitHub 제품 간에 마이그레이션할 때 특정 설정은 마이그레이션되지 않으며 새 리포지토리에서 다시 구성해야 합니다. 각 마이그레이션 후에 완료해야 하는 후속작업 목록은 "GitHub 제품 간 마이그레이션의 개요"을 참조하세요.
- 지연된 코드 검색 기능: 리포지토리가 마이그레이션된 후 검색 인덱스를 다시 인덱싱하는 데 몇 시간이 걸릴 수 있으며, 코드 검색은 다시 인덱싱이 완료될 때까지 예기치 않은 결과를 반환할 수 있습니다.
- 조직에 대해 구성된 규칙 집합으로 인해 마이그레이션 실패: 예를 들어 커밋 작성자의 이메일 주소가
@monalisa.cat
(으)로 끝나야 하는 규칙을 구성하고 마이그레이션하려는 리포지토리에 이 규칙을 준수하지 않는 커밋이 포함되어 있으면 마이그레이션이 실패합니다. 규칙 집합에 대한 자세한 내용은 "규칙 세트 정보"을 참조하세요. - 마네킹 콘텐츠가 검색되지 않을 수 있습니다. 마네킹은 가져온 콘텐츠(예: 이슈, 끌어오기 요청, 메모 등)가 연결된 자리 표시자 사용자입니다. 할당된 이슈와 같이 마네킹과 연결된 콘텐츠를 검색하는 경우 이슈를 찾지 못할 수 있습니다. 마네킹이 회수되면 새 소유자를 통해 콘텐츠를 찾아야 합니다. 자세한 내용은 "GitHub Enterprise Importer에 대한 마네킹 회수" 항목을 참조하세요.
시작
Bitbucket Server에서 마이그레이션하기 전에 마이그레이션 실행 방법을 계획해야 합니다. 데이터를 마이그레이션하기 전에 마이그레이션을 실행할 사용자를 선택해야 합니다. 마이그레이션의 원본과 대상 모두에 대해 필요한 액세스 권한을 해당 사용자에게 부여해야 합니다. 또한 먼저 평가판 마이그레이션을 실행하는 것이 좋습니다.
전체 마이그레이션 프로세스의 개요는 "Bitbucket Server에서 GitHub Enterprise Cloud로 마이그레이션의 개요" 섹션을 참조하세요.