0. INTRO
- 프로젝트 형상관리를 위해 네이버 클라우드 서버에 깃랩을 설치한 내용을 간단히 공유해볼까한다. Kubernetes 환경에서 배포를 해도 되었지만 프로젝트 아키텍쳐 설계상 독립된 서버에 구축을 하는 것이 더 나은 선택이었기에 Gitlab용 서버를 하나 새로 만들어 서비스를 배포하게 되었다.
1. Server 생성
- Public IP를 가지는 서버를 한 대 생성해주는데 Gitlab 서비스 구동시 생각보다 메모리가 많이 쓰이므로 최소
2CPU, 16GB 메모리
사양을 가진 서버를 선택하여 생성해주도록 한다. (가장 저렴한 2CPU, 4GB 메모리 서버에 구축하니 서버 접속이 끊기는 상황이 자주 발생)
sudo apt update
sudo apt upgrade -y
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
sudo apt-get install -y postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt update
sudo apt -y install gitlab-ce
- /etc/gitlab/gitlab.rb 파일 열어 인자들 추가 후 저장
>sudo nano /etc/gitlab/gitlab.rb
.
.
.
.
external_url 'https://gitlab.chunjae-aidt.com'
letsencrypt['enable'] = true
.
.
.
- 수정 내용 적용 및 재시작
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
4. Global DNS에 도메인 등록
- A 레코드 내용에는 위에서 생성한 gitlab 서버 공인IP 기입
-> 현재 Certificate Manager에 Letsencrypt로 발급받은 SSL이 이미 등록이 된 상태라 레코드 생성만으로 SSL 적용이 가능하지만 등록이 안되어 있다면 따로 외부 인증서 등록 절차가 필요하다.
5. 최초 로그인
- Global DBN에 등록한 도메인 이름으로 사이트 접속 후 로그인
최초 ID : root
최초 PW
> sudo cat /etc/gitlab/initial_root_password
6. OUTRO
- Gitlab을 설치하고 SSL 적용된 도메인으로 배포하는 과정을 생각보다 간단하게 끝마칠 수 있었다.
- Gitlab의 경우 다른 계정이 등록되면 root 계정이 승인을 해주어야 로그인 할 수 있는 구조로 되어있어 root 권한을 가진 사람이 각 사용자별, 그룹별 권한을 잘 부여하여 관리할 수 있도록 해야한다.