GitLab 복원
GitLab 복원에 대해 설명합니다.
GitLab 복원 작업은 시스템 연속성을 유지하고 데이터 손실에서 복구하기 위해 백업에서 데이터를 복구합니다. 복원 작업은 다음을 수행합니다. 데이터베이스 레코드와 구성을 복구합니다 Git 리포지터리, 컨테이너 레지스트리 이미지, 업로드된 콘텐츠를 복원합니다 패키지 레지스트리 데이터와 CI/CD 아티팩트를 복원합니다 계정 및 그룹 설정을 복원합니다 프로젝트 및 그룹 위키를 복구합니다 프로젝트 수준 보안 파일을 복원합니다 외부 머지 리퀘스트 diff를 복구합니다 복원 프로세스에는 백업과 동일한 버전의 기존 GitLab 설치가 필요합니다. 사전 요구 사항 을 따르고, 프로덕션에서 사용하기 전에 전체 복원 프로세스를 테스트합니다. 복원 사전 요구 사항 # 대상 GitLab 인스턴스가 이미 작동하고 있어야 합니다 # 복원을 수행하려면 먼저 작동하는 GitLab 설치가 있어야 합니다. 복원 작업을 수행하는 시스템 사용자( git )는 일반적으로 데이터를 가져올 SQL 데이터베이스 ( gitlabhq_production )를 생성하거나 삭제할 권한이 없기 때문입니다. 대상 GitLab 인스턴스에 기존 데이터가 없어야 합니다 # 복원 프로세스는 데이터 유형에 따라 기존 데이터를 다르게 처리합니다. PostgreSQL 데이터는 복원 프로세스 중에 자동으로 지워집니다. Git 리포지터리: 같은 이름의 리포지터리가 이미 있으면 "repository already exists" 오류와 함께 복원이 실패합니다. 자세한 내용은 이슈 118459 를 참고합니다. 파일 시스템 데이터는 가능한 경우 복원 전에 별도의 디렉터리로 이동됩니다. 오브젝트 스토리지 데이터는 자동으로 지워지지 않습니다. 고아 데이터가 남지 않도록 복원 전에 오브젝트 스토리지 버킷을 직접 비워야 합니다. 예를 들어 프로덕션에서 스테이징으로의 복원을 자동화할 때처럼 안정적인 복원 프로세스가 필요하면, 백업과 동일한 버전의 새 GitLab 설치를 사용합니다. SQL 데이터를 복원할 때 PostgreSQL 익스텐션이 소유한 뷰는 건너뜁니다. 대상 GitLab 인스턴스가 정확히 동일한 버전이어야 합니다 # 백업은 그것을 생성한 GitLab과 정확히 같은 버전 및 종류(CE 또는 EE)로만 복원할 수 있습니다. 예를 들어 CE 15.1.4입니다. 백업이 현재 설치된 버전과 다르면, 백업을 복원하기 전에 GitLab 설치를 다운그레이드 하거나 업그레이드 해야 합니다. GitLab 시크릿을 복원해야 합니다 # 백업을 복원하려면 GitLab 시크릿도 복원해야 합니다. 새 GitLab 인스턴스로 마이그레이션하는 경우에는 이전 서버에서 GitLab 시크릿 파일을 복사해야 합니다. 여기에는 데이터베이스 암호화 키, CI/CD 변수, 2단계 인증에 사용하는 변수가 포함됩니다. 이 키가 없으면 2단계 인증을 사용하는 사용자가 액세스를 잃고 GitLab Runner가 로그인할 수 없는 등 여러 문제가 발생합니다. Warning 다른 FQDN으로 복원하면 WebAuthn 장치가 비활성화됩니다: WebAuthn 등록(예: