GitHub Enterprise Server 원본 인스턴스 준비
-
GitHub Enterprise Server 원본의 사이트 관리자인지 확인합니다. 이 작업을 수행하는 가장 좋은 방법은 인스턴스에 SSH할 수 있는지 확인하는 것입니다.
-
GitHub Enterprise Server 원본 인스턴스의
repo
및admin:org
범위로 액세스 토큰 생성 -
가동 중지 시간을 최소화하려면 소스 인스턴스에서 내보낼 리포지토리 목록을 만듭니다. 각 리포지토리의 URL을 별도의 줄에 나열하는 텍스트 파일을 사용하여 한 번에 여러 리포지토리를 내보내기에 추가할 수 있습니다.
GitHub Enterprise Server 원본 리포지토리 내보내기
참고: 리포지토리를 잠그면 리포지토리에 대한 모든 쓰기 권한이 차단됩니다. 새 팀 또는 협력자를 잠긴 리포지토리와 연결할 수 없습니다.
평가판 실행을 수행하는 경우 리포지토리를 잠글 필요가 없습니다. 사용 중인 리포지토리에서 데이터를 마이그레이션하는 경우 GitHub에서는 리포지토리를 잠글 것을 적극 권장합니다. 자세한 내용은 "ghe-migrator 정보"을 참조하세요.
-
에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 "관리 셸(SSH)에 액세스"을(를) 참조하세요.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
내보내기용 리포지토리를 준비하려면 리포지토리의 URL과 함께
ghe-migrator add
명령을 사용합니다.-
리포지토리를 잠그는 경우
--lock
과 함께 명령을 추가합니다. 무료 평가판을 실행하는 경우--lock
은 필요하지 않습니다.ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock
-
명령에
--exclude_attachments
를 추가하여 첨부 파일을 제외할 수 있습니다. 첨부 파일은 용량이 클 수 있으며 최종 마이그레이션 보관 파일을 불필요하게 블로트할 수 있습니다. -
내보내기를 위해 여러 리포지토리를 한 번에 준비하려면 다른 라인에 있는 각 리포지토리 URL을 나열하는 텍스트 파일을 만들고,
-i
플래그 및 텍스트 파일의 경로와 함께ghe-migrator add
명령을 실행합니다.ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
-
-
메시지가 표시되면 GitHub Enterprise Server의 사용자 이름을 입력합니다.
Enter username authorized for migration: admin
-
personal access token을(를) 묻는 메시지가 표시되면 “GitHub Enterprise Server 원본 인스턴스 준비”에서 만든 액세스 토큰을 입력합니다.
Enter personal access token: **************
-
ghe-migrator add
가 완료되면 이 내보내기를 식별하기 위해 생성된 고유의 “마이그레이션 GUID”와 내보내기에 추가된 리소스 목록을 출력합니다.ghe-migrator add
이후에 생성된 마이그레이션 GUID 및 동일한 내보내기에서ghe-migrator
가 계속 작동하도록 지시하는ghe-migrator export
단계를 사용합니다.> 101 models added to export > Migration GUID: EXAMPLE-MIGRATION-GUID > Number of records in this migration: > users | 5 > organizations | 1 > repositories | 1 > teams | 3 > protected_branches | 1 > pull_request_reviews | 1 > milestones | 1 > issues | 3 > pull_requests | 5 > pull_request_review_comments | 4 > commit_comments | 2 > issue_comments | 10 > issue_events | 63 > releases | 3 > attachments | 4 > projects | 2
기존 마이그레이션 GUID를 사용하여 새 리포지토리를 추가할 때마다 기존 내보내기가 업데이트됩니다. 마이그레이션 GUID 없이
ghe-migrator add
를 다시 실행하면 새 내보내기가 시작되고 새 마이그레이션 GUID가 생성됩니다. 가져오기를 위해 마이그레이션 준비를 시작할 때 내보내기 하는 동안 생성된 마이그레이션 GUID는 다시 사용하지 마세요. -
동일한 내보내기에서 리포지토리를 더 추가하려면
-g
플래그와 함께ghe-migrator add
명령을 사용합니다. 5단계에서 새 리포지토리 URL 및 마이그레이션 GUID를 전달합니다.ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
-
리포지토리 추가를 마쳤으면
-g
플래그가 있는ghe-migrator export
명령과 5단계의 마이그레이션 GUID를 사용하여 마이그레이션 보관 파일을 생성합니다.$ ghe-migrator export -g MIGRATION-GUID > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz
- 마이그레이션 파일을 스테이징할 위치를 지정하려면
--staging-path=/full/staging/path
를 사용하여 명령을 추가합니다. 기본값은/data/user/tmp
입니다.
- 마이그레이션 파일을 스테이징할 위치를 지정하려면
-
GitHub Enterprise Server 인스턴스(으)로의 연결 종료:
$ exit > logout > Connection to HOSTNAME closed.
-
scp
명령을 사용하여 마이그레이션 보관 파일을 컴퓨터에 복사합니다. 보관 파일의 이름은 마이그레이션 GUID로 지정됩니다.scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
-
GitHub Enterprise Server 인스턴스로 가져오기 위해 보관된 마이그레이션 데이터를 준비하려면 “엔터프라이즈로 데이터 마이그레이션 준비”를 참조하세요.