728x90
반응형
Overview
오늘은 CI Tool 중 하나인 GitLab에 대해서 공부해보려고 한다.
다음시간에는 GitLab Runner에 대해 공부할 예정이다.
GitLab이란?
GitLab은 소프트웨어 개발 및 협업을 위한 올인원 솔루션을 제공하는 웹 기반 DevOps 플랫폼이다.
팀이 소프트웨어 프로젝트를 보다 효율적으로 계획, 생성, 구축, 테스트 및 배포하는 데 도움이 되는 다양한 도구와 기능을 제공한다.
GitLab 주요기능
- Git 리포지토리 관리
- 이슈 추적 및 프로젝트 관리
- CI(지속적인 통합) 및 CD(지속적인 배포)
- 코드 검토
- 보안 및 규정 준수
- 타사 도구와의 통합
GitLab 설치(Ubuntu 18,20,22.04)
Step 1. 시스템 업데이트 & 패키지 설치
## Update System ##
sudo apt update
sudo apt upgrade -y
## Install package ##
sudo apt install -y ca-certificates curl openssh-server tzdata
Step 2. GitLab CE Repository 추가
## Install Package ##
sudo apt update
sudo apt install curl debian-archive-keyring lsb-release ca-certificates apt-transport-https software-properties-common -y
## run script.deb.sh ##
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Step 3. Gitlab 설치 및 구성
## Install gitlab-ce ##
sudo apt update
sudo EXTERNAL_URL="https://gitlab.example.com/" apt-get install gitlab-ce
## Install gitlab-ce https cloud ##
sudo apt update
sudo EXTERNAL_URL="https://gitlab.example.com/" apt-get install gitlab-ce # Replace with your Domain
echo "letsencrypt['enable'] = false" | sudo tee -a /etc/gitlab/gitlab.rb
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
## Install gitlab-ce https##
sudo apt update
sudo EXTERNAL_URL="https://gitlab.example.com/" apt-get install gitlab-ce # Replace with your Domain
## Install gitlab-ce https cloud(aws,gcp... ##
sudo apt update
sudo EXTERNAL_URL="https://gitlab.example.com/" apt-get install gitlab-ce # Replace with your Domain
sudo vi /etc/gitlab/gitlab.rb
letsencrypt['enable'] = true
external_url 'https://gitlab.example.com' # Ensure your external URL is using HTTPS
letsencrypt['contact_emails'] = ['somaz@somaz.link'] # Use your email
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_day_of_month'] = "*/30"
letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
## gitlab reconfigure ##
sudo gitlab-ctl reconfigure
## gitlab restart ##
sudo gitlab-ctl restart
## gitlab status ##
sudo gitlab-ctl status
## gitlab initial_root_passowrd ##
$ cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: kOtOjWp7v70OjkjtadnSJAhcDbCNo9nTNGVC5UoSCyE=
Step 4. GitLab Web 접속
중요 디렉토리 설명
/var/opt/gitlab/gitlab-rails/shared/lfs-objects
- 해당 디렉터리는 Git 대용량 파일 저장소(LFS) 개체를 저장하는 데 사용된다.
- Git LFS는 사용자가 바이너리 자산과 같은 대용량 파일을 보다 효율적으로 버전화할 수 있도록 하는 Git용 extension이다.
- 전체 대용량 파일을 Git 저장소에 저장하는 대신 LFS는 파일에 대한 포인터만 저장하는 반면 실제 파일은 서버(이 경우 lfs-objects 디렉토리)에 별도로 저장된다.
- 이 설정은 Git 리포지토리의 크기를 줄이고 Git 작업의 성능을 향상시키는 데 도움이 됩니다.
/var/opt/gitlab/git-data
- 해당 디렉토리는 GitLab 인스턴스에서 관리하는 실제 Git 리포지토리 및 기타 리포지토리 관련 데이터를 저장하는 데 사용된다.
- GitLab 설치에서 각 프로젝트에는 프로젝트의 소스 코드, 버전 기록 및 기타 관련 데이터가 포함된 자체 Git 리포지토리가 있다.
- /var/opt/gitlab/git-data 디렉토리는 이러한 모든 리포지토리와 관련 데이터를 저장하기 위한 루트 디렉토리 역할을 한다.
따라서 아래와 같이 mount해서 쓰면 좋다.
$ df-h
/dev/xvdb1 2.0T 310G 1.6T 17% /var/opt/gitlab/gitlab-rails/shared/lfs-objects
/dev/xvdc1 984G 273G 661G 30% /var/opt/gitlab/git-data
Reference
gitlab 설치 참고 블로그
728x90
반응형
'IaC > CI CD Tool' 카테고리의 다른 글
2. Github Action (With Syntax) (0) | 2023.05.22 |
---|---|
1. Github Action이란? (0) | 2023.05.19 |
ArgoCD란? (0) | 2023.05.17 |
3. GitLab이란? / GitLab CI/CD (0) | 2023.04.24 |
2. GitLab이란? / GitLab Runner 개념 및 설치 (0) | 2023.04.23 |