Raspberry Pi 2에 GitLab 설치

Raspbian Stretch

1. 필요한 의존성을 설치하고 구성

sudo apt-get install curl openssh-server ca-certificates apt-transport-https curl https://packages.gitlab.com/gpg.key | sudo apt-key add -

 

다음으로, Postfix를 설치하여 알림 이메일을 보냅니다. 다른 솔루션을 사용하여 이메일을 보내려면 GitLab을 설치 한 후이 단계를 건너 뛰고 외부 SMTP 서버를 구성하십시오.

sudo apt-get install -y postfix

 

Postfix 설치 중에 구성 화면이 나타날 수 있습니다. '인터넷 사이트'를 선택하고 Enter를 누르십시오. 'mail name'에 서버의 외부 DNS를 사용하고 Enter를 누르십시오. 추가 화면이 나타나면 계속 Enter 키를 눌러 기본값을 적용합니다.

 

2. GitLab 패키지 저장소 추가 및 패키지 설치

GitLab 패키지 저장소를 추가합니다.

sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash

 

다음으로 GitLab 패키지를 설치합니다. https://gitlab.example.com을 GitLab 인스턴스에 액세스하려는 URL로 변경하십시오. 설치하면 해당 URL에서 GitLab이 자동으로 구성되고 시작됩니다.

https:// URL의 경우 GitLab은 인바운드 HTTP 액세스 및 유효한 호스트 이름이 필요한 Let 's Encrypt를 사용하여 인증서를 자동으로 요청합니다. 자신의 인증서를 사용하거나 http://를 사용할 수도 있습니다.

 

3. 초기 비밀번호 설정

Omnibus GitLab 14.0에서 도입되었습니다.

Ref : Install GitLab with the Linux package | GitLab

기본적으로 Omnibus GitLab은 초기 관리자 계정(root) 의 암호를 자동으로 생성하여  /etc/gitlab/initial_root_password 에 최소 24시간 동안 저장합니다. 보안상의 이유로 24시간 후 이 파일은 첫 번째 gitlab-ctl reconfigure의해 자동으로 제거됩니다.

설치하는 동안 GitLab이 서버에 대한 유효한 호스트 이름을 감지할 수 없으면 재구성이 실행되지 않습니다.

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

  • 서버의 호스트 이름이 올바르게 설정된 경우 GITLAB_ROOT_PASSWORD 환경 변수를 설치 명령으로 전달합니다. 설치 중에 GitLab이 자동으로 재구성을 수행하지 않는 경우, GITLAB_ROOT_PASSWORD  변수를 첫 번째 gitlab-ctl reconfigure 실행으로 전달해야 합니다.

  • 첫 번째 재구성 전에 /etc/gitlab/gitlab.rb(없는 경우 생성)를 편집하고 다음을 설정합니다.

이 두 가지 방법은 모두 첫 번째 재구성 중에 발생하는 초기 데이터베이스 시딩 중에만 적용됩니다. 이후 재구성 실행을 하면 위에서 언급한 방법 중 어느 것도 효과가 없습니다. 이 경우  /etc/gitlab/initial_root_password의 임의 암호를 사용하여 로그인하거나 루트 암호를 재설정합니다.

[root로 비밀번호를 입력하여 로그인]
[로그인 후 초기 화면]

 

4. 커뮤니케이션 환경 설정

이메일 구독 환경 설정 센터를 방문하여 언제 연락해야하는지 등록할 수 있습니다. GitLab은 명시적인 이메일 opt-in 정책을 통해 이메일을 보내는시기와 빈도를 완벽하게 제어 할 수 있습니다.

한 달에 두 번, 새로운 기능, 통합, 문서 및 개발자 팀의 비하인드 스토리를 포함하여 알아야 할 GitLab 뉴스를 보냅니다. 버그 및 시스템 성능과 관련된 중요한 보안 업데이트는 전용 보안 뉴스 레터에 가입해야합니다.

중요 : 보안 뉴스 레터를 선택하지 않으면 보안 경고가 표시되지 않습니다.