일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- VS2008
- PDA
- crashlog
- 설치제거
- self-signed ssl
- 블루투스 헤드셋
- plcrashreporter
- 한 번만 실행
- GDI
- ClickOnce
- Antialiasing
- C#
- .net
- MFC
- 크래시로그
- php
- phpmailer
- 데이터 전달
- API
- docker
- EUC-KR
- protobuf-c
- M8200
- 기념일관리
- JavaScript
- Font
- net
- C/C++
- 자바스크립트
- 와이브로
- Today
- Total
~☆~ 우하하!!~ 개발블로그
gitlab-ce – 우분투 22.04 에 소스저장소 설치하기 본문
git 은 CVS, SVN 을 이어 소스 형상관리 시스템으로 많이 사용되어 왔어.
github 가 등장하면서 WebUI 를 통한 소스 관리 기능이 소개되었고, 개인 또는 기업에서 자체적으로 gitlab 을 설치하여 github 를 대신하는 소스 형상관리 이상의 시스템을 갖추고 있지.
이번 포스트에서는 우분투 22.04 에 gitlab 을 설치하는 방법을 살펴볼텐데, 우분투 설치하는 방법은 우분투 22.04 설치하기 – VMware VM 포스트를 참고하길 바래.
참고: gitlab 은 gitlab-ce 와 gitlab-ee 두 가지 버전이 있어. gitlab-ce (Community Edition) 은 무료로 사용할 수 있는 오픈소스이고, 개발자나 작은 규모의 팀에 적합하지. 반면에 gitlab-ee (Enterprise Edition) 은 상용 라이선스이고 대규모 조직 및 기업에 맞게 특화된 기능을 포함하고 있어. 이번 포스트에서는 gitlab-ce 를 다루는거야.
gitlab-ce 서버 사양
gitlab 은 생각보다 높은 사양이 필요하더라고. 저장소 경로는 저장될 데이터의 크기에 맞추어 준비하면 되겠지만, CPU 와 메모리는 얼마나 할당해야 할까 하다가, 여러번 설치해보면서 무리가 없는 수준을 찾았어.
- CPU : 4 vCPUs
- MEM : 8192 MB
VM 치고는 메모리를 꽤 차지하게 되었어. 조금 과하게 할당한건 맞는데, 이 상태에서 gitlab WebUI 가 오류없이 제대로 표시가 되더라고. MicroServer 에서 동작하는 VM 이 아니라면 4096 MB 정도의 메모리로도 잘 동작할 것으로 생각이 돼.
gitlab-ce 설치하기
gitlab-ce 동작에 필요한 의존성 소프트웨어 패키지를 미리 설치해주어야 해. 상황에 따라 이미 설치되어 있을 수 있는데, 이 경우에는 그냥 skip 이 되지.
$ sudo apt install ca-certificates curl openssh-server
gitlab-ce 는 우분투 공식 리파지토리에서는 제공되지 않기 때문에 리파지토리를 추가해주어야 해.
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
gitlab-ce 설치를 위한 리파지토리 설정이 완료되었다고 하네. 이제 gitlab-ce 를 설치할 수 있어.
$ sudo apt update
$ sudo apt install gitlab-ce
설치가 완료되면 GitLab 이라는 글자가 아스키 아트로 출력이 되지.
이제 gitlab 설정을 해 주어야 해.
gitlab-ce 설정하기
gitlab 설정 파일의 경로는 /etc/gitlab/gitlab.rb 야.
$ sudo vi /etc/gitlab/gitlab.rb
external_url 값을 수정해 주어야 하는데, 이 URL 값은 gitlab 저장소를 표현하는데 사용되거든. gitlab 서버를 web ui 로 접근할 수 있는 적절한 URL 주소를 기록해주면 돼. 나는 gitlab 서버의 IP 주소를 기록해줬어. 이 값이 어떻게 사용되는지를 나중에 다시 살펴볼 기회가 있을거야.
gitlab.rb 파일을 수정했다면, 아래 명령어로 그 수정된 내용을 적용시켜 주어야 해.
$ sudo gitlab-ctl reconfigure
reconfigure 작업은 시간이 꽤 오래 걸리는 편이야. 작업이 완료되면 웹브라우저를 이용하여 Web UI 에 접근할 수 있어. gitlab-ce 의 Web UI 는 nginx 웹서버를 사용하고 있어.
최초 로그인할 때 root 계정을 사용하고 패스워드는 아래 방법으로 확인할 수 있지.
$ sudo cat /etc/gitlab/initial_root_password
이 패스워드는 reconfigure 이후 24시간이 지나면 자동으로 삭제가 되는데, 그 이전이라도 이 패스워드로 로그인 처리가 안되는 경우가 있을 수 있어. 그럴 때는 아래 명령어를 사용해서 패스워드를 초기화시킬 수가 있지.
$ sudo gitlab-rake "gitlab:password:reset"
변경하고자 하는 계정을 입력한 뒤에 변경할 패스워드를 두번 입력하면 되는거야.
로그인에 성공하면 sign-up 제한설정을 확인하라는 메시지가 표시되지. 기본적으로 누구나 계정 가입을 신청할 수 있는 모드인데, root 권한의 사용자가 이를 확인하고 신규 가입을 비활성화시켜야 한다는 보안 권고를 하는거야.
Sign-up restrictions (가입 제한) 설정 중에서 Sign-up enabled 항목의 체크를 해제시켜주면 임의의 방문자가 가입을 마음대로 할 수 없게 되지. 아래쪽 설정 내용도 검토해보고나서 “Save changes” 버튼을 클릭해주면 설정값이 저장돼.
GitLab 의 Web UI 사용방법에 대해서는 다른 포스트에서 조금 더 자세하게 다루어볼 예정이야.
이 포스트에서는 마지막으로 GitLab 저장소의 경로를 변경하는 방법까지 살펴볼까해.
gitlab-ce 저장소 경로 변경하기
gitlab 이 소스 형상관리를 위해서 사용하는 저장소 경로는 기본적으로 /var/opt/gitlab/git-data 야. 이 저장소 경로를 다른 디렉토리로 변경하는 방법에 대해서 설명하려고 해.
$ sudo su -
$ cd /var/opt/gitlab/git-data
root 계정으로 사용자를 변경한 후에 /var/opt/gitlab/git-data 디렉토리로 경로를 이동해보면
repositories 디렉토리가 존재하는걸 확인할 수 있어. git-data 디렉토리도, repositories 디렉토리도 모두 git 사용자의 소유로 설정되어 있는 것도 확인할 수 있지. 일단 이런 설정인 것을 확인한 후에 gitlab.rb 파일에서 git 저장소 경로의 설정부분을 변경하는 과정에 대해서 알아볼께.
$ sudo vi /etc/gitlab/gitlab.rb
gitlab.rb 파일에서 git_data_dirs 를 검색해보자(vi 에디터로 gitlab.rb 파일을 오픈한 후 /git_data_dirs 를 입력하면 검색이 되지). 초기값은 주석처리가 되어 있는 상황에서 아래와 같이 기록되어 있을거야.
나는 주석을 해제하고 아래와 같이 /data/git-data 디렉토리를 설정해줬어. 그리고 gitlab.rb 파일을 저장했지.
물론 /data/git-data 디렉토리가 존재해야 하기 때문에 아래 명령어로 디렉토리를 생성해주고 git 계정으로 소유자도 수정을 해주었지.
$ sudo mkdir -p /data/git-data
$ sudo chown -R git:git /data/git-data
gitlab.rb 파일이 변경되었으니 적용해주어야겠지?
$ sudo gitlab-ctl reconfigure
저장소 경로 변경이 제대로 적용되었는지는 root 권한으로 변경한 후에 /data/git-data 경로로 이동해보면 알 수 있어.
$ sudo su -
$ cd /data/git-data
git-data 디렉토리까지만 생성했는데, 그 하위에 repositories 디렉토리가 만들어져 있는걸 볼 수 있을거야.
이번 포스트에서는 gitlab 설치 방법과 기본적인 설정 방법에 대해서 살펴봤어.
앞으로 다른 포스트를 통해서 gitlab Web UI 를 활용하는 방법에 대해서 더 자세하게 알아볼 생각이야.
'개발환경' 카테고리의 다른 글
Gmail SMTP 로 메일 발송 설정하기 (3) | 2024.03.05 |
---|---|
jenkins – 우분투 22.04 에 젠킨스 설치하기 (0) | 2024.03.05 |
samba – 우분투 22.04 에 파일서버 구축하기 (0) | 2024.03.05 |
STS4 – Spring Tool Suite 4 설치하기 (0) | 2024.03.05 |
wiki – 우분투 22.04에 dokuwiki 설치하기 (1) | 2024.03.04 |