Skip to main content

리포지토리 마이그레이션에 대한 규칙 집합 바이패스 설정

리포지토리GitHub Enterprise Importer를 마이그레이션할 때, 조직 수준 및 엔터프라이즈 수준 규칙 집합을 평가하면 저장소 마이그레이션제외 모드로 우회 목록에 추가되지 않는 한 Git 푸시가 실패할 수 있습니다.

배경

리포지토리를 GitHub Enterprise Importer로 가져오면, 내부 서비스가 리포지토리의 Git 데이터를 GitHub로 푸시하고, 성능을 위해 refs를 묶어서 처리합니다. 이러한 경우 푸시된 참조를 대상으로 조직 수준 또는 엔터프라이즈 수준 규칙 집합의 평가 시간이 초과될 수 있으며, 그로 인해 리포지토리 마이그레이션 자체가 실패할 수 있습니다.

Git 푸시에 마이그레이션 작업으로 태그를 지정하기 때문에 GitHub Enterprise Importer 다른 행위자가 아닌 리포지토리 마이그레이션에만 적용되는 규칙 집합 바이패스를 만들 수 있습니다. 규칙 집합 평가의 시간 초과를 방지하여 마이그레이션 실패를 초래하지 않도록 합니다.

"항상 허용" 및 "제외"

규칙 집합 바이패스는 "항상 허용"과 "예외"의 두 가지 유형으로 제공됩니다. 이들의 차이점은 미묘하지만 리포지토리 마이그레이션의 경우의 자료는 다음과 같습니다.

모드작동 방식
항상 허용규칙 집합이 평가되고, 선택한 주체에게 우회를 지시하는 메시지가 표시됩니다.
면제규칙 집합은 평가되지 않으며 바이패스 프롬프트가 표시되지 않습니다.

Git 마이그레이션의 목적에 대한 주요 차이점은 규칙 집합이 통과하거나 실패할지 여부(이 경우 "항상 허용"으로 충분함)가 아니라 규칙 집합이 전혀 평가되는지 여부입니다("예외" 바이패스 필요).

바이패스 추가

다음 단계에서는 마이그레이션에 필요한 규칙 집합 바이패스를 구성하는 방법을 안내합니다. 각 규칙 집합을 편집하려면 조직 관리자 또는 엔터프라이즈 관리자 권한이 필요합니다.

  1. 조직의 설정에서 리포지토리 섹션을 확장한 다음 규칙 집합으로 이동합니다.

  2. 업데이트하려는 규칙 집합으로 이동합니다. 바이패스 목록 섹션에 빈 목록 또는 이미 구성된 바이패스가 표시됩니다.

  3.        **리포지토리 마이그레이션이** 바이패스 목록에 없는 경우 **바이패스 추가**를 클릭합니다. 사용 가능한 바이패스 행위자가 나열된 드롭다운이 나타납니다. **리포지토리 마이그레이션** 옆의 확인란을 선택하고 항목이 기본 모드 Always **허용**으로 바이패스 목록에 표시됩니다.
    
  4. 리포지토리 마이그레이션 항목에서 ··· 메뉴를 클릭합니다. 두 가지 모드 옵션과 삭제 작업이 표시됩니다. 예외를 선택합니다. 모드를 항상 허용으로 설정하지 마세요. 위에서 설명한 대로 항상 허용 바이패스는 여전히 평가를 허용하며, 이 평가가 시간 초과 원인입니다. 이제 바이패스 목록에는 면제 모드의 저장소 마이그레이션이 표시됩니다.

  5. 규칙 집합 페이지의 아래쪽으로 스크롤하고 변경 내용 저장을 클릭합니다. 바이패스(bypass)는 후속 마이그레이션 실행에 즉시 적용됩니다.

보안 및 부작용

위에서 GitHub Enterprise Importer 설명한 것처럼 Git 데이터를 푸시하기 위해 특정 경로를 사용합니다. 리포지토리 마이그레이션은 그 경로에 대해서만 우회 처리가 가능합니다. 일반 사용자나 Git 에서 기존 리포지토리로 데이터 푸시 시에는 리포지토리 마이그레이션 바이패스를 사용하여 규칙 집합을 우회할 수 있는 경로가 없습니다.

마이그레이션을 실행하는 동안 모든 리포지토리 마이그레이션 바이패스를 그대로 두는 것이 좋습니다. 마이그레이션이 완료되면 바이패스를 그대로 두면 보안 위험이 발생하지 않습니다.