에 대한 문제 해결 단계 정보 GitHub Enterprise Importer
마이그레이션이 실패하거나 예기치 않은 결과가 발생하는 경우 아래 문제를 해결하기 위한 첫 번째 단계를 시도합니다. 이 단계는 일반적으로 다양한 문제를 해결합니다. 이러한 첫 번째 단계가 문제를 해결하지 못하는 경우 마이그레이션 로그에 오류 메시지를 검사합니다. 그런 다음 이 문서에서 오류 메시지를 찾아 해결 단계를 시도합니다.
오류 메시지의 문제 해결 단계를 시도한 후 문제를 해결할 수 없는 경우 연락할 GitHub 지원수 있습니다.
첫 번째 문제 해결 단계
자세히 조사하기 전에 일반적으로 다양한 문제를 해결하는 이러한 문제 해결 단계를 시도해 보세요.
-
마이그레이션하는 데 사용 중인 최신 버전의 GitHub CLI 확장을 사용하고 있는지 확인합니다. 사용하고 있지 않다면 최신 버전으로 업그레이드합니다.
-
모든 액세스 요구 사항이 충족되었는지 확인합니다. 자세한 내용은 마이그레이션 경로에 대한 해당 문서를 참조하세요.
-
[AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-from-bitbucket-server-to-github-enterprise-cloud/managing-access-for-a-migration-from-bitbucket-server) -
[AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products)
-
-
마이그레이션을 다시 실행해 보세요. 일부 마이그레이션 문제는 일시적이며 두 번째 시도가 작동할 수 있습니다.
-
비슷한 데이터가 있는 다른 리포지토리에서 마이그레이션을 실행해 보세요. 이렇게 하면 문제가 리포지토리에 고유한지, 또는 더 광범위한 데이터 셰이프 문제를 나타내는지 확인하는 데 도움이 됩니다.
이러한 단계를 수행해도 문제가 해결되지 않으면 마이그레이션 로그에서 오류 메시지를 검토합니다. 검사가 필요한 로그는 마이그레이션이 실패했는지 또는 성공했는지에 따라 달라집니다.
실패한 마이그레이션 문제 해결
마이그레이션이 실패하는 경우 각 마이그레이션에 대해 생성된 GitHub CLI의 상세한 로그 항목을 검토합니다. 로그 파일은 마이그레이션을 실행한 것과 동일한 디렉터리에 저장됩니다.
로그에는 당신이 실행한 각 명령의 기록과 이에 대한 GitHub CLI의 모든 API 요청이 포함되어 있습니다. 오류 및 오류 메시지는 일반적으로 로그의 끝 부분에 나타납니다.
-
[마이그레이션을 실행할 수 없음](#unable-to-run-migrations) -
[리소스는 조직 SAML 규약에 따라 보호됩니다](#resource-is-protected-by-organization-saml-enforcement) -
[ `401 Unauthorized` 응답](#401-unauthorized-response) -
[ `404 Not Found` 응답](#404-not-found-response) -
[ `Archive generation failed` 응답](#archive-generation-failed-response) -
[ `cipher name is not supported` 오류](#cipher-name-is-not-supported-error) -
[ `Subsystem 'sftp' could not be executed` 오류](#subsystem-sftp-could-not-be-executed-error) -
[ `Source export archive... does not exist` 오류](#source-export-archive-does-not-exist-error) -
[ `Repository rule violations found` 오류](#repository-rule-violations-found-error) -
[ `Your push would publish a private email address` 오류](#your-push-would-publish-a-private-email-address-error)
마이그레이션을 실행할 수 없음
`No access to createMigrationMutation` 또는 `Missing permissions`와(과) 같은 오류가 표시되면 개인 계정애 마이그레이션을 실행하는 데 필요한 액세스 권한이 없습니다. 조직의 소유자이거나 마이그레이터 역할이 부여되었는지 확인하세요. 마이그레이션자 역할 부여에 대한 자세한 내용은 [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-repositories-with-github-enterprise-importer)을(를) 참조하세요.
참고
제품 간에 GitHub 마이그레이션하는 경우 조직 소유자이거나 원본 및 대상 조직 모두에 대한 마이그레이션자 역할이 부여되었는지 확인합니다.
리소스는 조직 SAML 규약에 따라 보호됩니다
이 오류는 personal access token를 SAML Single Sign-On과 함께 사용하기 위해 GitHub CLI에 제공된 항목이 승인되어야 함을 나타냅니다. 자세한 내용은 Single Sign-On에 사용할 개인용 액세스 토큰 권한 부여을(를) 참조하세요.
`401 Unauthorized` 응답
상태 코드를 포함하는 401 오류는 일반적으로 사용자가 GitHub CLI에 제공한 personal access token에 필요한 범위가 포함되지 않음을 나타냅니다. 제공한 personal access token의 범위를 확인하십시오. 필수 범위에 대한 자세한 내용은 마이그레이션 경로에 대한 해당 문서를 참조하세요.
-
[AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-from-bitbucket-server-to-github-enterprise-cloud/managing-access-for-a-migration-from-bitbucket-server#required-scopes-for-personal-access-tokens) -
[AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products#required-scopes-for-personal-access-tokens)
`404 Not Found` 응답
`404` 상태 코드가 포함된 오류는 일반적으로 명령 중 하나에 오타가 있음을 나타냅니다. 입력한 정확한 명령에 대한 마이그레이션 로그를 검토하고 원본 리포지토리, 조직 또는 프로젝트에 있는 오타에 대해 검사합니다.
`Archive generation failed` 응답
마이그레이션하는 동안 Archive generation failed... 응답을 받으면 리포지토리가 아마도 너무 클 수 있습니다. 리포지토리 크기 제한에 대한 자세한 내용은 GitHub 제품 간 마이그레이션 정보을(를) 참조하세요.
먼저 --skip-releases 명령과 함께 migrate-repo 플래그를 사용하여 마이그레이션에서 릴리스를 제외해 보세요.
작동하지 않는 경우 3.8.0 이상으로 업그레이드하는 GitHub Enterprise Server 것이 좋습니다. 업그레이드할 수 없는 경우 다른 옵션은 ghe-migrator을(를) 사용하여 리포지토리 보관 파일을 수동으로 생성하는 것입니다.
- 리포지토리에 대한 마이그레이션 보관 파일을 생성합니다. 한 번에 하나의 리포지토리만 내보내야 합니다. 자세한 내용은 엔터프라이즈.
- 선택한 Blob 스토리지 공급자에 마이그레이션 보관 파일을 업로드합니다.
- AWS S3의 프리사인드 URL 또는 Azure Blob Storage의 SAS URL과 같이 GitHub이(가) 접근할 수 있는 마이그레이션 아카이브를 위한 단기 URL을 생성합니다.
- 이전 단계에서 보관 파일의 URL로 모두 설정된
migrate-repo및--git-archive-url플래그와 함께--metadata-archive-url명령을 호출합니다.
`cipher name is not supported` 오류
Bitbucket Server에서 마이그레이션하고 마이그레이션을 실행할 때 cipher name aes256-ctr for openssh key file is not supported와(과) 같은 오류가 발생하는 경우 SSH 프라이빗 키는 지원되지 않는 암호화를 사용합니다. 지원되는 암호에 대한 자세한 내용은 Bitbucket 서버에서 마이그레이션에 대한 액세스 관리을(를) 참조하세요.
호환 가능한 새 SSH 키 쌍을 생성하려면 다음 명령어를 실행하세요.
ssh-keygen -t ed25519 -Z aes256-cbc -C "your_email@example.com"
ssh-keygen -t ed25519 -Z aes256-cbc -C "your_email@example.com"
새 SSH 키페어를 생성한 후 키를 사용하기 전에 Bitbucket Server 인스턴스의 authorized_keys에 공개 키를 추가해야 합니다.
`Subsystem 'sftp' could not be executed` 오류
Bitbucket Server에서 마이그레이션하는 중 Subsystem 'sftp' could not be executed와(과) 같은 오류가 발생하는 경우 서버에서 SFTP를 사용하도록 설정되지 않았거나 사용자 계정에 SFTP 액세스 권한이 없습니다.
서버 관리자에게 문의하여 사용자 계정에 대한 SFTP 액세스를 사용하도록 요청해야 합니다.
`Source export archive... does not exist` 오류
Bitbucket Server에서 마이그레이션 중이고 다음과 같은 Source export archive (/var/atlassian/application-data/bitbucket/shared/migration/export/Bitbucket_export_1.tar) does not existGitHub CLI 오류가 표시되는 경우 Bitbucket Server 인스턴스의 잘못된 위치에서 마이그레이션 보관 파일을 찾고 있습니다.
이 문제를 해결하려면 --bbs-shared-home에 대한 gh bbs2gh migrate-repo 인수를 Bitbucket Server 또는 데이터 센터의 공유 홈 디렉터리로 설정합니다. 기본 공유 홈 디렉터리가 /var/atlassian/application-data/bitbucket/shared이지만 구성이 다를 수 있습니다.
Bitbucket Server에서 공유 홈 디렉터리를 식별할 수 있습니다.
- Bitbucket Server 또는 데이터 센터 인스턴스의 관리 영역으로 이동합니다.
- 사이드바의 "시스템"에서 스토리지를 클릭합니다.
- "공유 디렉터리"에서 서버의 공유 홈 디렉터리 위치를 확인합니다.
여러 노트가 있는 클러스터 모드에서 Bitbucket 데이터 센터를 실행하는 경우 공유 디렉터리가 클러스터 노드 간에 공유되며 각 노드의 동일한 위치에 탑재되어야 합니다.
`Repository rule violations found` 오류
`Repository rule violations found`와(과) 같은 `GH013: Repository rule violations found for refs/heads/main` 오류가 발생하면 원본 리포지토리의 데이터가 대상 조직에 구성된 규칙 집합과 충돌합니다. 자세한 내용은 [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)을(를) 참조하세요.
마이그레이션 중에 규칙 집합을 일시적으로 사용하지 않도록 설정하거나 바이패스 모드 또는 바이패스 목록을 사용하여 구성된 규칙에서 마이그레이션을 제외할 수 있습니다. 자세한 내용은 조직의 리포지토리에 대한 규칙 집합 관리을(를) 참조하세요.
`Your push would publish a private email address` 오류
`Git source migration failed` 오류가 발생하면, `GH007: Your push would publish a private email address`로 마이그레이션하려는 Git 소스에 귀하가 GitHub로 푸시하는 것을 차단한 이메일 주소로 작성된 커밋이 포함되어 있을 수 있습니다. 자세한 내용은 [AUTOTITLE](/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address)을 참조하세요
GitHub Enterprise Cloud 설명서에 있습니다.
이 오류를 해결하려면 Git 기록을 다시 작성하여 이메일 주소를 제거하거나 "내 이메일을 노출하는 명령줄 푸시 차단" 설정을 사용하지 않도록 설정하면 됩니다.
마이그레이션 로그 경고 이해
마이그레이션이 성공하더라도 마이그레이션 로그를 검토하여 경고를 검사합니다.
마이그레이션 로그의 경고는 마이그레이션할 수 없는 리포지토리 내의 특정 항목을 가리킵니다. 자세한 내용은 GitHub Enterprise Importer에 대한 마이그레이션 로그 액세스을(를) 참조하세요.
참고
“마이그레이션 로그” 문제 아래쪽에 “마이그레이션 완료됨”이 포함된 경우 리포지토리가 마이그레이션되었다는 의미입니다. 경고는 끌어오기 요청에 대한 주석과 마찬가지로, 리포지토리 내의 특정 항목이 올바르게 마이그레이션되지 않았을 수 있음을 나타냅니다.
-
[경고: "리포지토리 메타데이터가 너무 커서 마이그레이션할 수 없음"](#warning-repository-metadata-too-big-to-migrate) -
[경고: "주석이 diff에 없음"](#warning-comment-not-in-diff) -
[경고: "풀 리퀘스트 리뷰...REVIEW_THREAD_MISSING_END_COMMIT_OID 오류로 인해 가져올 수 없습니다."](#warning-pull-request-reviewcould-not-be-imported-due-to-review_thread_missing_end_commit_oid-error) -
[조직 마이그레이션 후 팀 참고자료가 차단됨](#team-references-are-broken-after-an-organization-migration)
경고: 리포지토리 메타데이터가 너무 커서 마이그레이션할 수 없음
"마이그레이션 로그" 문제 또는 GitHub CLI리포지토리에 "마이그레이션하기에 너무 큰 리포지토리 메타데이터"가 표시되면 리포지토리가 최대 보관 크기인 10GB를 초과합니다. 이는 대용량 릴리스 자산으로 인해 발생하는 경우가 많습니다.
--skip-releases 명령에 대한 migrate-repo 플래그를 사용하여 마이그레이션에서 릴리스를 제외해 보세요.
경고: "주석이 diff에 없음"
Azure DevOps에서 마이그레이션하는 경우, 끌어오기 요청 내 변경되지 않은 줄에 있는 댓글은 GitHub로 마이그레이션할 수 없습니다. 이러한 이유로 마이그레이션할 수 없는 모든 주석에 대해 이 경고가 표시됩니다.
참고
끌어오기 요청에서 변경되지 않은 라인에 대한 주석만 이 제한 사항의 영향을 받습니다. 끌어오기 요청에서 변경된 라인에 대한 주석이 마이그레이션됩니다.
영향을 받는 주석은 마이그레이션된 리포지토리에 없지만 이러한 경고에는 추가 작업이 필요하지 않다는 점에 유의하세요.
경고: "풀 리퀘스트 리뷰...REVIEW_THREAD_MISSING_END_COMMIT_OID 오류로 인해 가져올 수 없습니다."
이 경고는 검토가 연결된 커밋이 더 이상 존재하지 않으므로 끌어오기 요청 검토를 마이그레이션할 수 없는 경우에 발생합니다.
일반적으로 커밋이 강제 푸시와 함께 제거되었거나 분기가 삭제된 경우에 발생합니다.
이 경우 주석은 손실되지 않지만 특정 커밋에 첨부된 검토가 아니라 기록을 보존하기 위해 인라인 끌어오기 요청 주석으로 마이그레이션됩니다.
끌어오기 요청 검토는 인라인 끌어오기 요청 댓글로 불러옵니다.
이러한 경고는 끌어오기 요청 검토를 원래 형식으로 마이그레이션할 수 없으며, 대신 인라인 끌어오기 요청 주석으로 표시됨을 나타냅니다.
INVALID_REVIEW_THREADLINE_NOT_FOUND_IN_DIFFREVIEW_THREAD_MISSING_BODY
조직 마이그레이션 후 팀 참고자료가 차단됨
@octo-org/octo-team와(과) 같은 팀에 대한 참조는 조직 마이그레이션의 일부로 업데이트되지 않습니다. 이로 인해 CODEOWNERS 파일이 예상대로 작동하지 않는 등, 대상 조직에서 문제가 발생할 수 있습니다.
마이그레이션 후에 이러한 참고자료를 업데이트하거나 대상 조직의 원래 이름을 사용할 수 있도록 원본 조직의 이름을 변경하여 팀 이름을 유지할 수 있습니다.
예를 들어 원본 조직이 @octo-org이고 CODEOWNERS 파일에 팀 @octo-org/octo-team에 대한 참고자료가 포함된 경우, 마이그레이션하기 전에 @octo-org-temp에 대한 원본 조직의 이름을 변경하여 @octo-org을(를) 새 조직의 이름으로 사용할 수 있습니다. 그런 다음 마이그레이션된 팀을 @octo-org/octo-team(이)라고 하며 마이그레이션된 리포지토리의 CODEOWNERS 파일이 예상대로 작동합니다.
잠긴 리포지토리
마이그레이션 후, 원본 또는 대상 리포지토리가 잠길 수 있으며, 이로 인해 리포지토리의 코드 및 모든 리소스(예: 문제, 끌어오기 요청)에 대한 액세스가 비활성화될 수 있습니다. 잠긴 리포지토리에 대한 자세한 내용은 잠긴 리포지토리 정보을(를) 참조하세요.
리포지토리의 잠금을 해제하는 프로세스는 리포지토리가 GitHub 저장된 제품에 따라 달라집니다.
- 잠긴 리포지토리가 있는 GitHub Enterprise Server경우 사이트 관리자는 사이트 관리자 대시보드를 사용하여 리포지토리의 잠금을 해제할 수 있습니다. 자세한 내용은 리포지토리 잠금을 참조하세요.
- 잠긴 리포지토리가 GitHub.com에 있을 경우, 리포지토리의 잠금을 해제하기 위해 사이트 관리자에게 문의에 연락할 수 있습니다.
참고
마이그레이션에 실패한 경우 모든 데이터가 마이그레이션되지 않습니다. 리포지토리의 잠금을 해제하고 사용하도록 선택하면 데이터가 손실됩니다. 잠긴 리포지토리를 삭제하고 마이그레이션을 다시 시도하는 것이 더 나은 옵션일 수 있습니다.
연락하기 GitHub 지원
문제 해결 단계를 시도한 후에도 여전히 문제를 해결하지 못한 경우, GitHub 지원를 통해 GitHub 지원 포털로 문의할 수 있습니다.