GitHub에서 원본 조직 준비
-
원본 조직의 리포지토리에 대한 소유자 권한이 있는지 확인합니다.
-
GitHub.com에서의
repo
및admin:org
범위로 액세스 토큰 생성 -
가동 중지 시간을 최소화하려면 소스 인스턴스에서 내보낼 리포지토리 목록을 만듭니다. 각 리포지토리의 URL을 별도의 줄에 나열하는 텍스트 파일을 사용하여 한 번에 여러 리포지토리를 내보내기에 추가할 수 있습니다.
조직의 리포지토리 내보내기
참고: 마이그레이션 후에는 포크 관계가 유지되지 않습니다.
GitHub.com에서 리포지토리 데이터를 내보내려면 마이그레이션 API를 사용합니다.
마이그레이션 API는 현재 미리 보기 기간이므로 나중에 엔드포인트 및 매개 변수가 변경될 수 있습니다.
마이그레이션 보관 파일 생성
참고: 리포지토리를 잠그면 리포지토리에 대한 모든 쓰기 권한이 차단됩니다. 새 팀 또는 협력자를 잠긴 리포지토리와 연결할 수 없습니다.
평가판 실행을 수행하는 경우 리포지토리를 잠글 필요가 없습니다. 사용 중인 리포지토리에서 데이터를 마이그레이션하는 경우 GitHub에서는 리포지토리를 잠글 것을 적극 권장합니다. 자세한 내용은 "ghe-migrator 정보"을 참조하세요.
-
조직 구성원에게 마이그레이션을 수행할 예정임을 알립니다. 내보내는 리포지토리 수에 따라 몇 분 정도 걸릴 수 있습니다. 가져오기를 포함한 전체 마이그레이션에 몇 시간이 소요될 수 있으므로 전체 프로세스가 소요되는 시간을 결정하기 위해 평가판을 실행하는 것이 좋습니다. 자세한 내용은 "ghe-migrator 정보"을 참조하세요.
-
POST
요청을 마이그레이션 엔드포인트로 전송하여 마이그레이션을 시작하세요. 필요한 사항:-
인증용 액세스 토큰
-
마이그레이션할 리포지토리 목록:
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X POST \ -H "Accept: application/vnd.github+json" \ -d'{"lock_repositories":true,"repositories":["ORG_NAME</em>/REPO_NAME", "ORG_NAME/REPO_NAME"]}' \ https://api.github.com/orgs/ORG_NAME/migrations
-
리포지토리를 마이그레이션하기 전에 잠그려면
lock_repositories
가true
로 설정되었는지 확인합니다. 적극 권장 사항입니다. -
엔드포인트에
exclude_attachments: true
를 전달하여 첨부 파일을 제외할 수 있습니다. 첨부 파일은 용량이 클 수 있으며 최종 마이그레이션 보관 파일을 불필요하게 블로트할 수 있습니다. 최종 보관 크기는 20GB 미만이어야 합니다.
이 요청은 마이그레이션을 나타내는 고유의
id
를 반환합니다. 마이그레이션 API에 대한 후속 호출에 필요합니다. -
-
마이그레이션 상태 엔드포인트에
GET
요청을 보내 마이그레이션 상태를 가져옵니다. 필요한 사항:-
인증용 액세스 토큰
-
마이그레이션의 고유
id
:curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/ORG_NAME/migrations/ID
마이그레이션은 다음 상태 중 하나일 수 있습니다.
pending
- 마이그레이션이 아직 시작되지 않았음을 의미합니다.exporting
- 마이그레이션이 진행 중임을 의미합니다.exported
- 마이그레이션이 성공적으로 완료되었음을 의미합니다.failed
- 마이그레이션이 실패했음을 의미합니다.
-
-
마이그레이션을 내보낸 후 마이그레이션 다운로드 엔드포인트에
GET
요청을 전송하여 마이그레이션 보관 파일을 다운로드합니다. 필요한 사항:-
인증용 액세스 토큰
-
마이그레이션의 고유
id
:curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ -L -o migration_archive.tar.gz \ https://api.github.com/orgs/ORG_NAME/migrations/ID/archive
-
-
마이그레이션 보관 파일은 7일 후에 자동으로 삭제됩니다. 더 빨리 삭제하려는 경우 마이그레이션 보관 삭제 엔드포인트에
DELETE
요청을 보낼 수 있습니다. 필요한 사항:-
인증용 액세스 토큰
-
마이그레이션의 고유
id
:curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X DELETE \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/ORG_NAME/migrations/ID/archive
-
-
GitHub Enterprise Server 인스턴스로 가져오기 위해 보관된 마이그레이션 데이터를 준비하려면 “엔터프라이즈로 데이터 마이그레이션 준비”를 참조하세요.