Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2024-07-09. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

Azure DevOps에서 GitHub Enterprise Cloud로 리포지토리 마이그레이션

GitHub CLI 또는 GraphQL API를 사용하여 Azure DevOps에서 GitHub Enterprise Cloud(으)로 리포지토리를 마이그레이션할 수 있습니다.

Tool navigation

GitHub Enterprise Importer을(를) 사용하는 리포지토리 마이그레이션 정보

GitHub CLI 또는 API를 사용하여 마이그레이션을 실행할 수 있습니다.

GitHub CLI은(는) 마이그레이션 프로세스를 간소화하며 대부분의 고객에게 권장됩니다. 사용자 지정 요구 사항이 많은 고급 고객은 API를 사용하여 GitHub Enterprise Importer와 자체 통합을 빌드할 수 있습니다.

API 사용에 대한 지침을 보려면, 페이지 맨 위에 있는 도구 전환기를 사용합니다.

필수 조건

  • 마이그레이션의 평가판을 수행하고 곧바로 프로덕션 마이그레이션을 완료하는 것이 좋습니다. 평가판 실행에 대한 자세한 내용은 "Azure DevOps에서 GitHub Enterprise Cloud로 마이그레이션의 개요"을(를) 참조하세요.
  • 마이그레이션될 데이터와 가져오기 도구의 알려진 지원 제한 사항을 이해했는지 확인하세요. 자세한 내용은 "Azure DevOps에서 GitHub Enterprise Cloud로 마이그레이션 정보"을(를) 참조하세요.
  • 필수는 아니지만 프로덕션 마이그레이션 중에는 작업을 중지하는 것이 좋습니다. Importer은(는) 델타 마이그레이션을 지원하지 않으므로 마이그레이션 중에 발생하는 변경 내용은 마이그레이션되지 않습니다. 프로덕션 마이그레이션 중에 작업을 중단하지 않도록 선택하는 경우, 이러한 변경 내용을 수동으로 마이그레이션해야 합니다.
  • GitHub.com에 대한 대상 조직의 경우 귀하가 조직 소유자이거나 마이그레이션자 역할이 있어야 합니다. 마이그레이션자 역할에 대한 자세한 내용은 "Azure DevOps에서 마이그레이션에 대한 액세스 관리"을 참조하세요.

1단계: ADO2GH extension of the GitHub CLI 설치

첫 번째 마이그레이션인 경우 ADO2GH extension of the GitHub CLI을(를) 설치해야 합니다. GitHub CLI에 대한 자세한 내용은 "GitHub CLI 정보"을 참조하세요.

또는 github/gh-ado2gh 리포지토리의 릴리스 페이지에서 독립 실행형 이진 파일을 다운로드할 수 있습니다. gh 접두사 없이 이 이진 파일을 직접 실행할 수 있습니다.

  1. GitHub CLI을(를) 설치하세요. GitHub CLI에 대한 설치 지침은 GitHub CLI 리포지토리를 참조하세요.

    참고: GitHub CLI 버전 2.4.0 이상이 필요합니다. gh --version 명령을 사용하여 설치한 버전을 검사할 수 있습니다.

  2. ADO2GH extension을(를) 설치합니다.

    Shell
    gh extension install github/gh-ado2gh
    

ADO2GH extension에 대한 도움이 필요할 때마다 명령과 함께 --help 플래그를 사용할 수 있습니다. 예를 들어, gh ado2gh --help은(는) 사용 가능한 모든 명령을 나열하고 gh ado2gh migrate-repo --help은(는) migrate-repo 명령에 사용할 수 있는 모든 옵션을 나열합니다.

2단계: ADO2GH extension of the GitHub CLI 업데이트

ADO2GH extension of the GitHub CLI은(는) 매주 업데이트됩니다. 최신 버전의 확장을 사용하고 있는지 확인합니다.

Shell
gh extension upgrade github/gh-ado2gh

3단계: 환경 변수 설정

ADO2GH extension을(를) 사용하여 GitHub Enterprise Cloud(으)로 마이그레이션하기 전에 원본 및 대상 조직에 액세스할 수 있는 personal access token을(를) 만든 다음, personal access token을(를) 환경 변수로 설정해야 합니다.

  1. GitHub Enterprise Cloud에서 대상 조직에 대해 인증할 personal access token을(를) 만들고 기록하여 토큰이 모든 요구 사항을 충족하는지 확인합니다. 자세한 내용은 "Azure DevOps에서 마이그레이션에 대한 액세스 관리"을(를) 참조하세요.

  2. Azure DevOps에서 원본 조직에 대해 인증할 personal access token을(를) 만들고 기록하여 이 토큰이 동일한 요구 사항을 모두 충족하는지 확인합니다. 자세한 내용은 "Azure DevOps에서 마이그레이션에 대한 액세스 관리"을(를) 참조하세요.

  3. personal access token에 대한 환경 변수를 설정하고, 아래 명령의 토큰을 위에서 기록한 personal access token(으)로 바꿉니다. 대상 조직에 대한 GH_PAT 및 원본 조직에 대한 ADO_PAT을(를) 사용합니다.

    • Terminal을 사용하는 경우 export 명령을 사용합니다.

      Shell
      export GH_PAT="TOKEN"
      export ADO_PAT="TOKEN"
      
    • PowerShell을 사용하는 경우 $env 명령을 사용합니다.

      Shell
      $env:GH_PAT="TOKEN"
      $env:ADO_PAT="TOKEN"
      

4단계: 마이그레이션 스크립트 생성

여러 리포지토리를 한 번에 GitHub Enterprise Cloud으로 마이그레이션하려면 GitHub CLI을(를) 사용하여 마이그레이션 스크립트를 생성합니다. 결과 스크립트에는 리포지토리당 하나씩의 마이그레이션 명령 목록이 포함됩니다.

참고: 스크립트를 생성하면 PowerShell 스크립트가 출력됩니다. 터미널을 사용하는 경우 .ps1 파일 확장과 함께 스크립트를 출력하고 Mac 또는 Linux용 PowerShell을 설치하여 실행해야 합니다.

단일 리포지토리를 마이그레이션하려면 다음 단계로 건너뜁니다.

마이그레이션 스크립트 생성

마이그레이션 스크립트를 생성하려면 gh ado2gh generate-script 명령을 실행합니다.

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

파이프라인 다시 연결, 팀 만들기 및 Azure Boards 통합 구성과 같은 추가 기능을 스크립트에 추가하려면 --all 플래그를 추가하시면 됩니다.

스크립트가 마이그레이션된 각 리포지토리에 대한 마이그레이션 로그를 다운로드하려면 --download-migration-logs 플래그를 추가합니다. 마이그레이션 로그에 대한 자세한 내용은 "GitHub Enterprise Importer에 대한 마이그레이션 로그 액세스"를 참조하세요.

명령 내의 자리 표시자를 다음 값으로 바꿉니다.

자리 표시자
SOURCE원본 조직의 이름
대상대상 조직의 이름
FILENAME결과 마이그레이션 스크립트의 파일 이름

터미널을 사용하는 경우 생성된 스크립트에서 PowerShell을 실행해야 하므로 .ps1 파일 확장을 사용합니다. Mac 또는 Linux용 PowerShell을 설치할 수 있습니다.

마이그레이션 스크립트 검토

스크립트를 생성한 후, 파일을 검토하고 필요에 따라 스크립트를 편집합니다.

  • 마이그레이션하지 않으려는 리포지토리가 있는 경우, 해당 줄을 삭제하거나 주석 처리합니다.
  • 리포지토리가 대상 조직에 다른 이름을 갖도록 하려면 해당 --target-repo 플래그 값을 업데이트합니다.

ADO2GH을(를) GitHub CLI의 확장이 아닌 독립 실행형 바이너리로 다운로드한 경우 gh ado2gh 대신 이진 파일을 실행하려면 생성된 스크립트를 업데이트해야 합니다.

5단계: 리포지토리 마이그레이션

gh ado2gh migrate-repo 명령이 포함된 마이그레이션 스크립트 또는 단일 리포지토리를 사용하여 여러 리포지토리를 마이그레이션할 수 있습니다.

여러 리포지토리 마이그레이션

여러 리포지토리를 동시에 마이그레이션하려면 이 위에서 생성한 스크립트를 실행합니다. 아래 명령의 FILENAME을 스크립트를 생성할 때 제공받은 파일 이름으로 바꿉니다.

  • 터미널을 사용하는 경우, ./을(를) 사용하세요.

    Shell
    ./FILENAME
    
  • PowerShell을 사용하는 경우 .\을(를) 사용하세요.

    Shell
    .\FILENAME
    

단일 리포지토리 마이그레이션

단일 리포지토리를 마이그레이션하려면 gh ado2gh migrate-repo 명령을 사용하세요.

Shell
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME

명령 내의 자리 표시자를 다음 값으로 바꿉니다.

자리 표시자
SOURCE원본 조직의 이름
CURRENT-NAME마이그레이션할 리포지토리의 이름
대상대상 조직의 이름
NEW-NAME마이그레이션된 리포지토리에서 사용할 이름
팀 프로젝트마이그레이션하려는 리포지토리의 팀 프로젝트 이름

마이그레이션을 취소하려면 abort-migration 명령을 사용하여 MIGRATION-ID를 migrate-repo에서 반환된 ID로 바꿔야 합니다.

Shell
gh ado2gh abort-migration --migration-id MIGRATION-ID

6단계: 마이그레이션 유효성 검사 및 오류 로그 검사

마이그레이션이 완료되면, 마이그레이션 로그를 검토하는 것이 좋습니다. 자세한 내용은 "GitHub Enterprise Importer에 대한 마이그레이션 로그 액세스"을(를) 참조하세요.

마이그레이션된 리포지토리에서 건전성 검사를 검토하는 것이 좋습니다.

Alt+Up을 눌러 활성화