LookML 프로젝트에서 Git 문제 진단 및 복구

Looker 프로젝트는 안정적인 Git 구성 (예: 원격 저장소 연결, 유효한 배포 키, 손상되지 않은 저장소 구조, 올바른 파일 시스템 권한)을 사용합니다. Git 문제가 발생하면 개발자와 관리자가 진단 및 복구 도구를 사용하여 저장소 상태를 테스트하고, 근본 원인을 파악하고, 자동 복구를 실행할 수 있습니다.

진단 및 복구 도구는 개인 개발 환경 또는 공유 프로덕션 환경에서 8가지 진단 테스트 검사를 통해 LookML 프로젝트 저장소를 평가합니다. 문제가 발견되면 Looker는 전용 복구 브랜치에서 커밋되지 않은 변경사항을 보호하면서 오래된 잠금 파일 삭제, 파일 권한 수정, 손상된 객체 색인 복구와 같은 수술적 복구를 자동으로 실행하거나 손상된 저장소를 다시 빌드할 수 있습니다.

기본 요건 및 권한

Git 진단 및 복구 도구를 사용하려면 다음 권한 요구사항을 충족해야 합니다.

  • 개발자 환경: 프로젝트에서 하나 이상의 모델에 대한 develop 권한이 필요합니다.
  • 프로덕션 환경: 프로젝트의 하나 이상의 모델에 대한 deploy 권한이 필요합니다.

Git 진단 실행

LookML 프로젝트를 진단하려면 다음 단계를 따르세요.

  1. 개발 모드를 사용 설정합니다.
  2. 탐색 패널에서 개발을 선택하여 개발 패널을 엽니다.
  3. 개발 패널에서 프로젝트를 선택하여 LookML 프로젝트 페이지를 표시합니다.
  4. 진단하려는 프로젝트를 엽니다.
  5. Looker IDE 아이콘 메뉴에서 설정 아이콘을 선택합니다.
  6. Git 진단 및 복구 섹션에서 진단 및 복구를 클릭합니다.
  7. 진단 및 복구 대화상자에서 테스트할 환경을 선택합니다.

    개발 환경이 선택된 진단 및 복구 대화상자

    • 개발: 개인 개발자 사본의 Git 저장소를 테스트합니다.
    • 프로덕션: Git 저장소의 프로덕션 사본을 테스트합니다.
  8. 진단을 클릭합니다.

Looker가 진단 테스트 모음을 시작하고 대화상자에 각 테스트 확인의 실시간 진행 상황을 표시합니다.

실행된 테스트와 테스트 결과를 보여주는 Git 진단 보고서

진단 결과 이해하기

진단 테스트 모음이 실행되면 각 검사에서 다음 상태 중 하나를 보고합니다.

상태 배지 의미 조치 필요
감지되지 않음 진단 검사를 통과했으며 문제가 발견되지 않았습니다. 어떤 조치도 필요하지 않습니다.
감지됨 저장소 또는 연결에서 문제 또는 불일치가 발견되었습니다. 자동 복구를 실행하거나 수동 해결 단계를 따릅니다.
Repaired(수리됨) 자동 복구 프로세스를 통해 문제가 해결되었습니다. 추가 조치가 필요하지 않습니다.
실패 자동 복구 시도로 문제를 해결할 수 없거나 검사에 수동 개입이 필요합니다. 문제 세부정보를 검토하고 수동 해결 절차를 따릅니다.

자동 복구 실행

진단 검사에서 감지됨 상태가 반환되고 자동 복구를 지원하는 경우 대화상자에서 직접 복구를 시작할 수 있습니다.

  1. 진단 및 복구 대화상자에서 복구 시작 버튼을 클릭합니다.
  2. Looker는 수정 가능한 모든 문제에 자동 수정을 적용합니다.
  3. 복구 프로세스가 완료되면 해결된 검사의 상태 배지가 Repaired로 업데이트되고, 수동 개입이 필요한 경우 Failed로 업데이트됩니다.

진단 검사 및 복구 참조

진단 테스트 모음은 8가지 Git 문제 카테고리를 평가합니다. 다음 표에서는 각 검사, 진단, 실행된 수정 조치를 설명합니다.

진단 검사 설명 수리 유형 해결 작업
Git 설정 프로젝트에 저장소를 초기화하는 데 필요한 필수 요건 (구성된 원격 Git 출처 URL 및 활성 데이터베이스 구성 레코드)이 있는지 확인합니다. 수동 필수 값이 누락된 경우 프로젝트 설정 (설정 > 구성 > Git 구성)에서 초기 Git 구성을 완료합니다. 자세한 내용은 Git 설정 문제 해결 섹션을 참고하세요.
Git 연결 테스트 원격 원본 저장소에 대해 Looker의 표준 Git 연결 테스트 모음을 실행하여 사용자 인증 정보, 네트워크 연결 가능성, 원격 액세스 권한을 확인합니다. 수동 연결 실패는 만료된 SSH 배포 키, 취소된 OAuth 또는 개인 액세스 토큰, 방화벽 제한, 제공업체 서비스 중단과 같은 외부 요인으로 인해 발생합니다. Git 제공업체에 직접 문의하여 사용자 인증 정보 또는 네트워크 문제를 해결합니다. 자세한 내용은 Git 연결 테스트 문제 해결 섹션을 참고하세요.
파일 시스템 액세스 Looker가 프로젝트 저장소에서 디렉터리 목록이나 파일 이름을 읽지 못하도록 하는 파일 시스템 I/O 또는 저장소 오류를 감지합니다. 자동 프로젝트 저장소의 클린 사본을 처음부터 다시 빌드합니다. 이전 디렉터리를 안전한 백업으로 보관하고 커밋되지 않은 작업을 원격 복구 브랜치에 저장합니다.
저장소 기능 상태 내부 .git 구조가 있고 손상되지 않았는지 확인하고 Git이 디렉터리를 작동하는 작업 트리로 인식하는지 확인합니다. 자동 데이터 손실을 방지하기 위해 이전 콘텐츠를 보관하면서 정상적인 Git 디렉터리 구조를 복원하여 프로젝트 저장소를 처음부터 다시 빌드합니다.
Git 잠금 파일 후속 Git 명령어를 차단하는 중단되거나 종료된 Git 작업으로 인해 남은 오래된 .lock 파일 (예: 색인 또는 구성 잠금)을 검색합니다. 자동 저장소 기록이나 작업 파일을 변경하지 않고 즉시 오래된 잠금 파일을 안전하게 삭제하여 Git 작업을 차단 해제합니다.
객체 권한 권장되는 보안 및 운영 표준에서 벗어나는 파일 시스템 권한이 있는지 프로젝트 파일과 디렉터리를 검사합니다 (예: 디렉터리와 스크립트에는 읽기 및 실행 액세스 권한이 있고 표준 파일은 실행 불가능한 상태로 유지). 자동 파일 콘텐츠를 수정하지 않고 안전한 일반 액세스 권한을 복원하여 프로젝트 전반에서 파일 및 디렉터리 권한을 자동으로 정규화합니다.
Git 구성 설정 저장소의 내부 Git 구성이 Looker의 필수 기본값과 일치하는지 확인합니다. 특히 파일 시스템 간 권한 차이로 인해 잘못된 변경사항이 생성되지 않도록 파일 모드 추적 core.filemode이 사용 중지되어 있는지 확인합니다. 자동 Looker 기본값과 일치하도록 저장소 구성을 업데이트하고 업데이트된 구성을 저장합니다.
저장소 일관성 FSCK Git 파일 시스템 검사 (git fsck)를 실행하여 저장소의 내부 객체 데이터베이스에 구조적 손상 (예: 깨진 색인 파일, 잘못된 커밋 서명, 잘못된 객체 포인터, 손상된 객체, 깨진 참조)이 있는지 검사합니다. 자동 초기 복구: 색인을 다시 빌드하고, 오래된 참조 로그를 정리하고, 손상된 참조를 삭제하고, git fetch --refetch를 실행하여 누락된 객체를 가져옵니다.
대체 다시 빌드: 초기 복구로 모든 오류를 해결할 수 없는 경우 저장소를 안전하게 다시 빌드하고 커밋되지 않은 작업을 원격 복구 브랜치에 보존합니다.

수동 Git 문제 해결

Git 설정 또는 Git 연결 테스트에서 문제를 감지하면 문제가 로컬 저장소 외부에서 발생하므로 자동 복구를 사용할 수 없습니다. 다음 가이드라인에 따라 수동 문제를 해결하세요.

  • Git 설정 문제 해결:

    1. Looker IDE에서 프로젝트를 엽니다.
    2. 아이콘 메뉴에서 설정 아이콘을 선택합니다.
    3. 구성 탭에서 Git 연결 재설정 또는 Git 구성을 선택하여 저장소 설정을 완료합니다. 자세한 내용은 Git 연결 설정 및 테스트를 참고하세요.

  • Git 연결 테스트 문제 해결:

    • SSH 배포 키: Looker의 배포 키가 Git 호스팅 제공업체에 등록된 공개 키와 일치하는지 확인하고 키에 쓰기 액세스 권한이 사용 설정되어 있는지 확인합니다. 필요한 경우 프로젝트 설정에서 새 배포 키를 생성하고 Git 제공업체를 업데이트합니다.
    • HTTPS 사용자 인증 정보 및 개인 액세스 토큰: 개인 액세스 토큰 또는 서비스 계정 비밀번호가 만료되었거나 취소되었는지 확인합니다. Git 제공업체에서 새 토큰을 생성하고 Looker에서 사용자 인증 정보를 업데이트합니다.
    • IP 허용 목록 및 방화벽: Git 호스팅 제공업체에서 Looker 인스턴스 IP 주소의 인바운드 트래픽을 허용하는지 확인합니다.