SW/리눅스

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어

얇은생각 2020. 10. 26. 07:30
반응형

GitLab은 wiki, 이슈 관리, 코드 검토, 모니터링, 지속적인 통합 및 구축 등 Ruby로 작성된 웹 기반 오픈 소스 Git 저장소 관리자입니다. 이를 통해 개발자는 프로젝트를 생성, 검토 및 배포할 수 있습니다.

GitLab에는 CE(Community Edition), EE(Enterprise Edition) 및 GitLab 호스팅 버전의 세 가지 버전이 있습니다.

GitLab은 GitHub에서 벗어나고 싶을 때 가장 많이 선택하는 옵션입니다. GitHub를 비롯한 여러 소스에서 프로젝트 및 문제를 가져올 수 있으므로 마이그레이션 프로세스가 번거롭지 않습니다. GitLab 인터페이스는 사용자 경험 및 기능 면에서 GitHub에 가깝고 설계가 우수하며 깨끗하며 직관적입니다.

필요한 사용 사례에 따라 GitLab을 설치하는 방법에는 여러 가지가 있습니다. 옴니버스 패키지를 사용하여 Ubuntu 18.04 시스템에 GitLab(CE)을 설치하고 구성하는 데 필요한 단계를 다룹니다.

 

 

 

필수 구성 요소

이 튜토리얼에서는 Ubuntu 18.04가 새로 설치되었다고 가정합니다. GitLab 요구 사항 페이지에 따라 다음이 포함된 서버를 사용하는 것이 좋습니다.

- 최소 4GB의 RAM 메모리
- CPU 코어 2개
- 최소 2GB의 스왑 공간
- (선택사항) 서버 IP 주소를 가리키는 도메인 또는 하위 도메인

추가 보안 계층의 경우 기본 방화벽을 설정하는 것이 좋습니다. Ubuntu 18.04에서 UFW로 방화벽을 설정하는 방법 가이드의 단계를 따를 수 있습니다.

시작하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인합니다.

 

 

 

필수 종속성 설치

로컬 패키지 인덱스를 새로 고치고 다음 명령을 사용하여 종속성을 설치합니다.

sudo apt update
sudo apt install curl openssh-server ca-certificates

 

 

GitLab이 알림 이메일을 보낼 수 있도록 Postfix를 설치 및 사용하거나 SendGrid, MailChimp, MailGun 또는 SES와 같은 일부 트랜잭션 메일 서비스를 사용할 수 있습니다. 이 경우 다음 단계를 건너뛰고 [GitLab SMTP 설정](설치가 완료된 후 https://docs.gitlab.com/omnibus/settings/smtp.html))을 구성할 수 있습니다.

다음 명령을 실행하여 Ubuntu 서버에 Postfix를 설치합니다.

debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix

 

 

자신의 메일 서버를 설정하는 방법에 대한 자세한 내용은 이 시리즈를 확인합니다.

 

 

 

GitLab 설치

GitLab 설치는 매우 직선적인 프로세스입니다. 우리는 apt 패키지 매니저를 사용하여 GitLab CE 패키지를 설치하겠습니다.

먼저 다음 curl 명령을 사용하여 GitLab 리포지토리를 시스템 소스 목록에 추가합니다.

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

 

 

리포지토리가 활성화되면 다음 명령을 실행하여 GitLab 패키지를 설치합니다.

sudo apt install gitlab-ce

 

 

설치 프로세스에 시간이 좀 걸릴 수 있으며 설치를 완료한 후 다음 출력이 표시됩니다.

Thank you for installing GitLab!

 

 

 

방화벽 규칙 조정

기본 방화벽 설정에 대한 가이드는 필수 구성 요소 섹션에 링크되어 있습니다. GitLab 인터페이스에 액세스하려면 포트 80 및 443을 열어야 합니다.

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https

 

 

필요한 포트가 열려 있는지 확인하려면 다음을 사용하여 방화벽의 상태를 확인할 수 있습니다.

sudo ufw status

# Status: active
# 
# To                         Action      From
# --                         ------      ----
# 80/tcp                     ALLOW       Anywhere
# 443/tcp                    ALLOW       Anywhere
# OpenSSH                    ALLOW       Anywhere
# 80/tcp (v6)                ALLOW       Anywhere (v6)
# 443/tcp (v6)               ALLOW       Anywhere (v6)
# OpenSSH (v6)               ALLOW       Anywhere (v6)

 

 

 

GitLab URL 설정

GitLab 웹 인터페이스에 액세스하기 전에 GitLab에 연결할 수 있는 URL을 설정해야 합니다. Gitlab의 구성 파일을 열고 다음과 같이 변경합니다.

sudo nano /etc/gitlab/gitlab.rb

 

 

구성 파일의 상단 근처에 external_url로 시작하는 줄이 표시됩니다. 도메인/하위 도메인 또는 IP 주소와 일치하도록 값을 변경합니다. 도메인이 https를 사용하고 서버 IP 주소를 통해 GitLab 인터페이스에 액세스하려면 http를 사용합니다.

# /etc/gitlab/gitlab.rb

external_url 'https://gitlab.example.com'

 

 

 

다음으로 "통합 암호화"를 검색한 후 letsencrypt['enable']로 시작하는 행의 연결을 해제하고 true로 설정합니다. 도메인 관련 암호화를 통해 전자 메일을 수신하려면 letsencrypt['contact_emails'로 시작하는 행의 연결을 해제하고 전자 메일 주소를 추가합니다.

external_url을 IP 주소로 설정한 경우 Let's Encryption 통합을 활성화하지 않습니다.

# /etc/gitlab/gitlab.rb

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com'] # This should be an arr

 

 

마지막으로 파일을 저장했다가 닫고 다음 명령을 실행하여 Gitlab을 재구성합니다.

sudo gitlab-ctl reconfigure

 

 

이 명령은 GitLab 설정을 재구성하고 무료 SSL 인증서를 생성합니다.

 

 

 

웹 인터페이스를 통해 GitLab 구성

이제 GitLab URL을 구성했으므로 GitLab 웹 인터페이스를 통해 초기 구성부터 시작할 수 있습니다.

웹 브라우저를 시작하고 다음 항목으로 이동합니다.

https://your_gitlab_domain_or_server_IP.com

 

 

1. 관리 계정 암호 설정

웹 인터페이스에 처음 액세스하면 관리 계정의 암호를 설정하라는 메시지가 표시됩니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어1

 

 

보안 암호를 입력하고 완료되면 암호 변경 버튼을 클릭합니다.

로그인 페이지로 리디렉션됩니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어2

 

 

기본 관리 계정 사용자 이름은 루트입니다. 이 튜토리얼 뒷부분에서는 사용자 이름을 변경하는 방법을 보여드리겠습니다.

- 사용자 이름: 루트입니다. 
- 암호: [설정하신 암호]

로그인 자격 증명을 입력하고 로그인 버튼을 클릭하면 GitLab 시작 페이지로 이동합니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어3

 

 

2. 사용자 프로파일을 편집

먼저 사용자 프로필을 편집해야 합니다. 사용자 아바타(오른쪽 위 코너)를 클릭하고 드롭다운 메뉴에서 Settings(설정)을 선택합니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어4

 

 

여기서 이름, 전자 메일 및 기타 프로필 정보 및 설정을 변경할 수 있습니다. 취향에 따라 변경하세요.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어5

 

 

완료되면 프로파일 설정 업데이트 버튼을 클릭하면 입력한 주소로 확인 이메일이 전송됩니다. 계정을 확인하려면 이메일에 제공된 지침을 따릅니다.

 

 

3. 사용자 이름 변경

프로파일 페이지에 액세스하려면 왼쪽 수직 탐색 메뉴에서 계정 링크를 클릭합니다.

이미 알고 있듯이 첫 번째 관리 계정의 기본 사용자 이름은 루트입니다. 변경하려면 새 사용자 이름을 입력하고 사용자 이름 업데이트 버튼을 클릭하기만 하면 됩니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어6

 

 

이 화면에서 2단계 인증을 사용할 수도 있습니다.

다음에 GitLab 대시보드에 로그인할 때 새 사용자 이름을 입력해야 합니다.

 

 

4. SSH 키 추가

로컬 Git 변경사항을 GitLab 서버에 적용하려면 SSH 공용 키를 GitLab 계정에 추가합니다.

로컬 시스템에서 SSH 키 쌍을 이미 생성한 경우 다음을 입력하여 공개 키를 표시할 수 있습니다.

cat ~/.ssh/id_rsa.pub

# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== admin@linuxize.com

 

 

위 명령이 No that file 또는 directory를 출력하는 경우 이는 사용자가 컴퓨터에서 SSH 키 쌍을 생성하지 않았음을 의미합니다.

새 SSH 키 쌍을 생성하려면 다음 명령을 사용합니다.

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

 

 

cat 명령에서 출력을 복사하고 GitLab의 웹 인터페이스로 돌아갑니다. 왼쪽 수직 탐색 메뉴에서 SSH Keys를 클릭하여 SSH Keys 구성 페이지에 액세스합니다.

키 텍스트 영역에서 로컬 컴퓨터에서 이전에 복사한 공용 키를 붙여넣고 설명 제목을 설정하고 키 추가 단추를 클릭합니다.

Ubuntu 18.04 : GitLab 설치, 구성하는 방법, 예제, 명령어7

 

 

이제 GitLab 계정 자격 증명을 제공하지 않고도 로컬 컴퓨터에서 프로젝트 변경 사항을 적용하고 가져올 수 있습니다.

 

 

 

결론

이 튜토리얼에서는 Ubuntu 18.04에 GitLab을 설치하고 구성하는 과정을 안내했습니다. 프로필 설정 편집 방법, 사용자 이름 변경 및 SSH 키 추가 방법도 배웠습니다. 이제 첫 번째 프로젝트를 만들고 GitLab을 사용할 수 있습니다.

반응형