Skip to main content

Enterprise 서버에서 마이그레이션 데이터 내보내기

  1. Enterprise Server 원본의 사이트 관리자인지 확인합니다. 이 작업을 수행하는 가장 좋은 방법은 인스턴스에 SSH할 수 있는지 확인하는 것입니다.

  2. Enterprise Server 원본 인스턴스의 repoadmin:org 범위로 액세스 토큰 생성

  3. 가동 중지 시간을 최소화하려면 소스 인스턴스에서 내보낼 리포지토리 목록을 만듭니다. 각 리포지토리의 URL을 별도의 줄에 나열하는 텍스트 파일을 사용하여 한 번에 여러 리포지토리를 내보내기에 추가할 수 있습니다.

참고 항목

리포지토리를 잠그면 리포지토리에 대한 모든 쓰기 권한이 차단됩니다. 새 팀 또는 협력자를 잠긴 리포지토리와 연결할 수 없습니다.

평가판 실행을 수행하는 경우 리포지토리를 잠글 필요가 없습니다. 사용 중인 리포지토리에서 데이터를 마이그레이션하는 경우 에서는 리포지토리를 잠글 것을 적극 권장합니다. 자세한 내용은 ghe-migrator 정보을(를) 참조하세요.

  1. 에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 관리 셸(SSH)에 액세스을(를) 참조하세요.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 내보내기용 리포지토리를 준비하려면 리포지토리의 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
      
  3. 메시지가 표시되면 Enterprise Server의 사용자 이름을 입력합니다.

    Enter username authorized for migration:  admin
    
  4. personal access token을 묻는 메시지가 표시되면 Enterprise Server 원본 인스턴스 준비에서 만든 액세스 토큰을 입력합니다.

    Enter personal access token:  **************
    
  5. 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는 다시 사용하지 마세요.

  6. 동일한 내보내기에서 리포지토리를 더 추가하려면 -g 플래그와 함께 ghe-migrator add 명령을 사용합니다. 5단계에서 새 리포지토리 URL 및 마이그레이션 GUID를 전달합니다.

    ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
    
  7. 리포지토리 추가를 마쳤으면 -g 플래그가 있는 ghe-migrator export 명령과 5단계의 마이그레이션 GUID를 사용하여 마이그레이션 보관 파일을 생성합니다.

    $ ghe-migrator export -g MIGRATION-GUID
    > Archive saved to: /data//current/tmp/MIGRATION-GUID.tar.gz
    
    • 마이그레이션 파일을 스테이징할 위치를 지정하려면 --staging-path=/full/staging/path를 사용하여 명령을 추가합니다. 기본값은 /data/user/tmp입니다.
  8. .com(으)로의 연결 종료:

    $ exit
    > logout
    > Connection to HOSTNAME closed.
    
  9. scp 명령을 사용하여 마이그레이션 보관 파일을 컴퓨터에 복사합니다. 보관 파일의 이름은 마이그레이션 GUID로 지정됩니다.

    scp -P 122 admin@HOSTNAME:/data//current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
    
  10. Enterprise Server 인스턴스로 가져오기 위해 보관된 마이그레이션 데이터를 준비하려면 Enterprise Server로 데이터 마이그레이션을(를) 참조하세요.