GitLab 설치 (Linux 패키지)

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

필수 조건

  • 설치 요구 사항.
  • 도메인 이름을 사용하여 GitLab 인스턴스에 액세스하려면, mygitlabinstance.com과 같은 도메인이 GitLab이 설치되는 서버의 IP를 정확히 가리키는지 확인하세요. 이 확인은 host mygitlabinstance.com 명령을 사용하여 할 수 있습니다.
  • GitLab 인스턴스에서 HTTPS를 사용하려면 도메인에 대한 SSL 인증서가 준비되어 있어야 합니다. (Container Registry와 같은 특정 구성 요소는 자체 서브도메인이 필요할 수 있으므로, 이러한 서브도메인에 대한 인증서도 필요합니다.)
  • 알림 이메일을 보내려면, Sendmail 또는 Postfix와 같은 메일 서버(MTA)를 설치하고 구성하세요. 또는 다른 타사 SMTP 서버를 사용할 수 있습니다.

설치 및 구성

이 구성 설정은 Linux 패키지 설치 시 일반적으로 사용됩니다.
설정의 전체 목록은 README 파일을 참조하세요.

초기 계정 설정하기

기본적으로 Linux 패키지 설치는 초기 관리자 사용자 계정(root)에 대한 비밀번호를 자동으로 생성하여 /etc/gitlab/initial_root_password에 최소 24시간 동안 저장합니다. 보안상의 이유로 24시간이 지나면 이 파일은 첫 번째 gitlab-ctl reconfigure에 의해 자동으로 삭제됩니다.

기본 계정은 무작위로 생성된 이메일 주소와 연결되어 있습니다. 이를 무시하려면 설치 명령에 GITLAB_ROOT_EMAIL 환경 변수를 전달하세요.

note
설치 중에 GitLab이 서버에 대한 유효한 호스트 이름을 감지할 수 없는 경우, 재구성은 실행되지 않습니다.

커스텀 초기 루트 비밀번호를 제공하려면 두 가지 옵션이 있습니다:

  • 서버의 호스트 이름이 올바르게 설정되면, 설치 명령GITLAB_ROOT_PASSWORD 환경 변수를 전달하세요:

    sudo GITLAB_ROOT_EMAIL="<gitlab_admin@example.com>" GITLAB_ROOT_PASSWORD="<strongpassword>" EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
    

    설치 중에 GitLab이 자동으로 재구성을 수행하지 않으면, 첫 번째 gitlab-ctl reconfigure 실행 시 GITLAB_ROOT_PASSWORD 또는 GITLAB_ROOT_EMAIL 변수를 전달해야 합니다.

  • 첫 번째 재구성 전에 /etc/gitlab/gitlab.rb를 편집하고(존재하지 않는 경우 생성) 다음을 설정하세요:

    gitlab_rails['initial_root_password'] = '<my_strong_password>'
    

이 두 방법은 초기 데이터베이스 시딩 중에만 적용됩니다. 이 작업은 첫 번째 재구성 시에 발생합니다. 이후의 재구성 실행에서는 위에서 언급한 방법이 아무 영향도 미치지 않습니다. 이 경우, /etc/gitlab/initial_root_password의 무작위 비밀번호를 사용하여 로그인 하거나, 루트 비밀번호 재설정을 진행하세요.

도커 이미지 사용

GitLab에서 제공하는 도커 이미지를 사용하여 GitLab 인스턴스를 설치하고 구성할 수 있습니다.

자세한 내용은 문서를 확인하세요.

리눅스 패키지(Unmibus) 제거

리눅스 패키지를 제거하려면 데이터(저장소, 데이터베이스, 구성)를 유지하거나 모두 제거할 수 있습니다:

  1. 선택 사항. 패키지를 제거하기 전에 리눅스 패키지로 생성된 모든 사용자 및 그룹을 제거하려면 (apt 또는 yum 사용):

    sudo gitlab-ctl stop && sudo gitlab-ctl remove-accounts
    

    참고: 계정이나 그룹을 제거하는 데 문제가 있는 경우, userdel이나 groupdel을 수동으로 실행하여 삭제하세요. /home/에서 남아 있는 사용자 홈 디렉터리를 수동으로 제거할 수도 있습니다.

  2. 데이터를 유지할지 아니면 모두 제거할지 선택하세요:

    • 데이터를 보존하려면(저장소, 데이터베이스, 구성), GitLab을 중지하고 감독 프로세스를 제거하세요:

      sudo systemctl stop gitlab-runsvdir
      sudo systemctl disable gitlab-runsvdir
      sudo rm /usr/lib/systemd/system/gitlab-runsvdir.service
      sudo systemctl daemon-reload
      sudo systemctl reset-failed
      sudo gitlab-ctl uninstall
      
    • 모든 데이터를 제거하려면:

      sudo gitlab-ctl cleanse && sudo rm -r /opt/gitlab
      
  3. 패키지를 제거하세요(설치한 GitLab FOSS가 있는 경우 gitlab-ce로 교체):

    # Debian/Ubuntu
    sudo apt remove gitlab-ee
    
    # RedHat/CentOS
    sudo yum remove gitlab-ee