Linux 패키지로 GitLab 설치하기

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

사전 준비 사항

  • 설치 요구 사항.
  • 만약 mygitlabinstance.com과 같은 도메인 이름을 사용하여 GitLab 인스턴스에 액세스하려면, 도메인이 올바르게 GitLab이 설치된 서버의 IP를 가리키도록 하십시오. 다음 명령을 사용하여 이를 확인할 수 있습니다: host mygitlabinstance.com.
  • GitLab 인스턴스에서 HTTPS를 사용하려면 해당 도메인의 SSL 인증서가 준비되어 있는지 확인하십시오. (일부 하위 도메인을 가질 수 있는 Container Registry와 같은 특정 구성 요소는 해당 하위 도메인을 위한 인증서가 필요합니다.)
  • 알림 이메일을 보내려면 Sendmail 또는 Postfix와 같은 메일 서버(MTA)를 설치하고 구성하십시오. 또는 다른 제3자 SMTP 서버를 사용할 수 있습니다.

설치 및 구성

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

초기 계정 설정

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

기본 계정은 무작위로 생성된 이메일 주소에 연결됩니다. 이를 무시하려면 설치 명령에 GITLAB_ROOT_EMAIL 환경 변수를 전달하십시오.

참고: 설치 중에 GitLab이 서버의 유효한 호스트 이름을 감지하지 못하면 reconfigure가 실행되지 않습니다.

사용자 정의 초기 루트 암호를 제공하려면 두 가지 옵션이 있습니다:

  • 서버의 호스트 이름이 올바르게 설정된 경우, 설치 명령에 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이 자동으로 reconfigure를 수행하지 않으면, 첫 번째 gitlab-ctl reconfigure 실행에 GITLAB_ROOT_PASSWORD 또는 GITLAB_ROOT_EMAIL 변수를 전달해야 합니다.

  • 첫 번째 reconfigure 이전에 /etc/gitlab/gitlab.rb 파일을 편집하고(없으면 생성) 다음을 설정하십시오:

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

이 두 가지 방법은 초기 데이터베이스 시딩 중에만 적용됩니다. 이후의 reconfigure 실행에는 두 방법 중 어느 것도 효과가 없습니다. 그 경우, /etc/gitlab/initial_root_password의 무작위 암호를 사용하여 로그인하거나 root 암호를 재설정하십시오.

Docker 이미지 사용

GitLab이 제공하는 Docker 이미지를 사용하여 GitLab 인스턴스를 설치하고 구성할 수도 있습니다. 자세한 내용은 문서를 참조하십시오.

Linux 패키지 (Omnibus) 제거

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

  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