Linux 패키지로 GitLab 설치하기
사전 요구 사항
- 설치 요구 사항.
-
mygitlabinstance.com
과 같은 도메인 이름을 통해 GitLab 인스턴스에 액세스하려면, 도메인이 올바르게 GitLab이 설치된 서버의 IP를 가리키는지 확인하세요.host mygitlabinstance.com
명령을 사용하여 이를 확인할 수 있습니다. - GitLab 인스턴스에서 HTTPS를 사용하려면 도메인의 SSL 인증서가 준비되어 있는지 확인하세요. (특정 컴포넌트인 Container Registry는 해당 서브도메인에 대한 인증서도 필요합니다.)
- 알림 이메일을 보내려면 Sendmail이나 Postfix와 같은 메일 서버(MTA)를 설치하고 구성하세요. 또는 다른 제3자 SMTP 서버를 사용할 수 있습니다.
설치 및 구성
이러한 구성 설정은 Linux 패키지 설치를 구성할 때 일반적으로 사용됩니다. 전체 설정 목록은 README 파일을 참조하세요.
- GitLab 설치.
- GitLab 인스턴스의 도메인 이름/URL을 설정하여 쉽게 액세스할 수 있도록 구성합니다.
- 알림 이메일 사용 가능하게 하기.
- 이메일로 회신 사용 가능하게 하기.
-
GitLab에서 컨테이너 레지스트리 사용 가능하게 하기.
- 컨테이너 레지스트리에 사용된 도메인에 대한 SSL 인증서가 필요합니다.
-
GitLab Pages 사용 가능하게 하기.
- HTTPS를 사용하려면 월드카드 인증서를 사용해야 합니다.
- Elasticsearch 사용 가능하게 하기.
- GitLab Mattermost - Linux 패키지에 포함된 Mattermost 메신저 앱을 설정합니다.
- GitLab Prometheus - Linux 패키지에 포함된 Prometheus 모니터링을 설정합니다.
- GitLab 고가용성 역할.
초기 암호 설정
기본적으로 Linux 패키지 설치는 초기 관리자 사용자 계정(root
)을 위한 암호를 자동으로 생성하고 적어도 24시간 동안 /etc/gitlab/initial_root_password
에 저장합니다. 보안상의 이유로, 24시간 후에 이 파일은 자동으로 첫 번째 gitlab-ctl reconfigure
에 의해 제거됩니다.
참고: 설치 중에 서버의 유효한 호스트명을 감지할 수 없는 경우, 재구성이 실행되지 않습니다.
사용자 정의 초기 관리자 암호를 제공하려면 두 가지 옵션이 있습니다:
-
서버의 호스트명이 올바르게 설정되어 있는 것으로 제공된
GITLAB_ROOT_PASSWORD
환경 변수를 설치 명령에 전달하세요:sudo GITLAB_ROOT_PASSWORD="<strongpassword>" EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
설치 중 GitLab이 자동으로 재구성을 수행하지 않는 경우, 처음
gitlab-ctl reconfigure
실행 중에GITLAB_ROOT_PASSWORD
변수를 전달해야 합니다. -
첫 번째 재구성 이전에
/etc/gitlab/gitlab.rb
를 수정하고(없는 경우 생성) 다음을 설정하세요:gitlab_rails['initial_root_password'] = '<my_strong_password>'
이러한 두 가지 방법은 초기 데이터베이스 씨딩 중에만 적용됩니다. 이는 처음의 재구성 중에 발생하며, 후속의 재구성 실행에는 어떤 방법도 영향을 미치지 않습니다. 이 경우 /etc/gitlab/initial_root_password
의 무작위 암호를 사용하여 로그인하거나, 루트 암호를 재설정하세요.
도커 이미지 사용
GitLab이 제공하는 도커 이미지를 사용하여 GitLab 인스턴스를 설치하고 구성할 수도 있습니다. 자세한 내용은 문서를 확인하세요.
Linux 패키지 제거하기 (Omnibus)
Linux 패키지를 제거하려면 데이터(저장소, 데이터베이스, 구성)를 유지하거나 모두 제거할지 선택할 수 있습니다:
-
선택 사항. 패키지를 제거하기 전에 Linux 패키지에 의해 생성된 모든 사용자 및 그룹을 비활성화합니다. (
apt
또는yum
을 사용하여 패키지를 제거하기 전):sudo gitlab-ctl stop && sudo gitlab-ctl remove-accounts
참고: 계정이나 그룹을 제거하는 데 문제가 있는 경우 수동으로
userdel
또는groupdel
을 실행하여 삭제합니다. 또한/home/
에서 남은 사용자 홈 디렉토리를 수동으로 제거할 수도 있습니다. -
데이터를 유지할지 또는 모두 제거할지 선택합니다:
-
데이터를 유지하려면 (저장소, 데이터베이스, 구성), 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
-
-
패키지를 제거합니다 (GitLab FOSS를 설치한 경우
gitlab-ce
로 대체):# Debian/Ubuntu sudo apt remove gitlab-ee # RedHat/CentOS sudo yum remove gitlab-ee