외부 PostgreSQL 서비스를 사용하여 GitLab 구성

Tier: Free, Premium, Ultimate Offering: Self-Managed

GitLab을 클라우드 공급업체에 호스팅하는 경우 PostgreSQL을 위한 관리형 서비스를 선택적으로 사용할 수 있습니다. 예를 들어 AWS는 PostgreSQL을 실행하는 관리형 관계형 데이터베이스 서비스(RDS)를 제공합니다.

또는 별도로 Linux 패키지와는 분리된 자체 PostgreSQL 인스턴스 또는 클러스터를 관리할 수 있습니다.

클라우드 관리형 서비스를 사용하거나 자체 PostgreSQL 인스턴스를 제공하는 경우 다음을 수행하세요:

  1. 데이터베이스 요구 사항 문서에 따라 PostgreSQL을 설정합니다.

  2. gitlab 사용자를 설정하고 원하는 암호를 설정한 후 gitlabhq_production 데이터베이스를 생성하고 사용자를 데이터베이스 소유자로 설정합니다. 이 설정에 대한 예시는 자체 컴파일 설치 설명서에서 볼 수 있습니다.

  3. 클라우드 관리형 서비스를 사용하는 경우 gitlab 사용자에게 추가 역할을 부여해야 할 수 있습니다.

    이것은 설치 및 업그레이드 중 확장을 설치하기 위한 것입니다. 대안으로, 확장을 수동으로 설치하고, 향후 GitLab 업그레이드 중 발생할 수 있는 문제에 대해 읽으십시오.

  4. GitLab 애플리케이션 서버를 외부 PostgreSQL 서비스에 대한 적절한 연결 세부 정보로 /etc/gitlab/gitlab.rb 파일을 구성합니다:

     # 번들된 Omnibus 제공 PostgreSQL 비활성화
     postgresql['enable'] = false
    
     # PostgreSQL 연결 세부 정보
     gitlab_rails['db_adapter'] = 'postgresql'
     gitlab_rails['db_encoding'] = 'unicode'
     gitlab_rails['db_host'] = '10.1.0.5' # 데이터베이스 서버의 IP/호스트 이름
     gitlab_rails['db_password'] = 'DB 비밀번호'
    

    GitLab 다중 노드 설정에 대한 자세한 정보는 참조 아키텍처를 참조하십시오.

  5. 변경 사항이 적용되려면 재구성을 수행하십시오:

     sudo gitlab-ctl reconfigure
    
  6. TCP 포트를 활성화하려면 PostgreSQL을 다시 시작하십시오:

     sudo gitlab-ctl restart
    

문제 해결

SSL SYSCALL error: EOF detected 오류 해결

외부 PostgreSQL 인스턴스를 사용할 때 다음과 같은 오류가 발생할 수 있습니다:

pg_dump: error: Error message from server: SSL SYSCALL error: EOF detected

이 오류를 해결하려면 최소한의 PostgreSQL 요구 사항을 충족하는지 확인하십시오. RDS 인스턴스를 지원되는 버전으로 업그레이드한 후에는 이 오류 없이 백업을 수행할 수 있어야 합니다. 자세한 내용은 이슈 64763를 참조하십시오.