GitHub 저장소 미러링

이 주제에서는 GitHub 저장소를 Cloud Source Repositories에 미러링하는 방법을 설명합니다. 이 구성을 사용하면 GitHub 저장소로 푸시한 커밋이 Cloud Source Repositories에서 호스팅된 저장소에 복사 또는 미러링됩니다.

Bitbucket Cloud 및 GitHub Cloud 저장소만 Cloud Source Repositories에 미러링할 수 있습니다. 자체 호스팅 Bitbucket 및 GitHub 미러링은 지원되지 않습니다.

GitHub 저장소를 Cloud Build와 통합할 Cloud Source Repositories에 미러링하고 다른 Cloud Source Repositories 기능은 필요하지 않은 경우에는 대신 GitHub에서 저장소 빌드에 대한 Cloud Build 안내를 따릅니다.

시작하기 전에

저장소를 미러링하려면 GitHub 사용자 인증 정보를 제공해야 합니다. 이러한 사용자 인증 정보를 통해 Cloud Source Repositories가 GitHub 저장소 콘텐츠에 액세스할 수 있습니다.

GitHub 조직을 사용하는 경우 특별히 저장소 미러링과 같은 자동화 작업 전용으로 머신 사용자 계정을 사용하는 것이 좋습니다. 이 계정에 저장소에 대한 관리 액세스 권한이 있어야 합니다.

GitHub 저장소 미러링

이 섹션에서는 GitHub 저장소를 Cloud Source Repositories에 미러링하는 방법을 보여줍니다.

미러링된 저장소 만들기

이 프로세스에서 Google Cloud에 GitHub 저장소에 대한 읽기 액세스 권한을 부여하려면 GitHub 머신 사용자 인증 정보가 필요합니다.

  1. Google Cloud Console에서 Cloud Source Repositories를 엽니다.

    Cloud Source Repositories 열기

  2. 저장소 추가를 클릭합니다.

    저장소 추가 페이지가 열립니다.

  3. 외부 저장소 연결을 선택하고 계속을 클릭합니다.

    외부 저장소 연결 페이지가 열립니다.

  4. 프로젝트 드롭다운 목록에서 미러링된 저장소가 속한 Google Cloud 프로젝트를 선택합니다.

    프로젝트가 없으면 프로젝트 만들기를 클릭하여 프로젝트를 만듭니다.

  5. Git 제공업체 드롭다운 목록에서 GitHub를 선택합니다.

  6. 체크박스를 선택하여 Cloud Source Repositories에 사용자 인증 정보를 저장하도록 승인합니다.

  7. GitHub에 연결을 클릭합니다.

  8. 머신 사용자 인증 정보를 사용하여 GitHub에 로그인합니다.

  9. Google Cloud Platform 승인을 클릭합니다.

    이 옵션은 Google Cloud에 GitHub 사용자 계정의 모든 저장소에 대한 읽기 액세스 권한을 부여합니다.

    승인이 완료되면 외부 저장소 연결 페이지로 돌아갑니다. 저장소 목록이 열립니다.

  10. 저장소 목록에서 미러링할 저장소를 선택합니다.

  11. 선택한 저장소 연결을 클릭합니다.

    기본 저장소 페이지가 열립니다. 이 페이지에는 방금 만든 새 저장소를 포함하여 이 Google Cloud 프로젝트의 저장소 목록이 포함됩니다.

GitHub 저장소 식별

Cloud Source Repositories에서는 GitHub 저장소의 미러링된 저장소를 식별할 수 있습니다.

  • 각 GitHub 저장소에 GitHub 로고가 표시됩니다.
  • 저장소 이름의 시작 부분에 github_이 추가됩니다.

저장소 강제 동기화

미러링을 설정한 후에는 사용자가 변경사항을 커밋할 때 Cloud Source Repositories에서 자동으로 저장소를 미러링된 저장소와 동기화합니다. Cloud Source Repositories에서는 미러링된 저장소가 마지막으로 동기화된 시간을 확인하고 필요한 경우 직접 동기화 할 수 있습니다.

  1. GCP Console에서 미러링된 GitHub 저장소를 찾습니다.

  2. 설정 을 클릭합니다.

    동기화 상태가 표시됩니다.

    미러링된 저장소 동기화 상태

  3. 저장소를 직접 동기화하려면 GitHub에서 동기화를 클릭합니다.