1. Gitlab이란?
- GitLab은 소프트웨어 개발 라이프사이클을 지원하는 통합 DevOps 플랫폼으로, 버전 관리, CI/CD, 이슈 트래킹, 협업 등을 제공한다.
- Git 기반의 코드 저장소와 함께 프로젝트 관리 및 지속적 통합과 배포 기능을 제공하여 개발자들이 효과적으로 협업하고 소프트웨어를 효율적으로 개발할 수 있도록 지원한다.
- 오픈 소스 및 기업 버전이 제공되며, GitLab은 웹 기반의 사용자 친화적인 환경에서 전체적인 개발 프로세스를 관리한다.
- GitLab 패키지는 3가지가 있다.
- GitLab CE : Community Edition으로 설치형, 아무런 제한 없이 무료
- GitLab EE : Enterprise Edition으로 설치형, 매월 유저당 과금
- GitLab.com : 클라우드형, 개인이 가입해서 사용하면 무료
2. Gitlab 설치
1-1) CentOS 환경
1. 의존성 패키지 설치 및 설정 변경
# 의존성 패키지를 설치한다.
yum install -y curl policycoreutils-python openssh-server perl
# SSH데몬이 자동 실행되도록 설정한다.
systemctl enable sshd
systemctl start sshd
# HTTPS 프로토콜이 방화벽에서 허용되도록 설정한다.
firewall-cmd --permanent --add-service=https
systemctl reload firewalld
2. GitLab CE 저장소 추가
# GitLab CE 저장소를 추가한다.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3. GitLab CE 설치
# GitLab CE 저장소를 설치한다. 도메인이 있는 경우 EXTERNEL_URL을 설정하면 되고 없으면 해당 내용을 지운다.
EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce
4. GitLab Root 비밀번호 확인
# GitLab 접속을 위해 Root 계정 비밀번호를 아래의 명령어로 확인할 수 있다.
cat /etc/gitlab/initial_root_password
5. GitLab 동작 확인
# 웹 브라우저로 https://아이피주소 또는 https://도메인 으로 접속해서 아래의 사진처럼 GitLab이 정상적으로 동작하는지 확인한다.
# Timeout이 발생한다면 GitLab이 동작 중일 것이므로 몇분 대기하다가 다시 접속해보자. 아래의 사진처럼 로그인창이 나타나면 위에서 확인한 비밀번호로 Root 계정을 로그인할 수 있다.
1-2) Ubuntu 환경
- Ubuntu 22.04 LTS 버전에서 에서 GitLab 설치
1.GitLab dependencies 팩키지 설치
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
sudo apt-get install -y postfix
2.GitLab 팩키지 레파지토리 추가 및 설치
# gitlab 레파지토리 추가
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
# gitlab 설치
sudo apt-get install gitlab-ee
3. GitLab 환경파일 수정
# 하기 파일의 external_url 부분을 웹에서 접속할 URL로 변경
sudo vi /etc/gitlab/gitlab.rb
external_url 'http://<vm ip>:80'
4.GitLab 환경 파일 적용 및 상태 확인
# gitlab 변경 파일 재구성및 재기동
gitlab-ctl reconfigure
# 현재 gitlab 상태를 확인
gitlab-ctl status
5.GitLab 접속
# root 접속 패스워드 확인
cat /etc/gitlab/initial_root_password
### 번외 ###
6.GitLab 삭제
sudo gitlab-ctl cleanse
sudo gitlab-ctl uninstall
sudo apt remove gitlab-ee
sudo apt purge gitlab-ee
rm -rf /opt/gitlab
rm -rf /var/opt/gitlab
rm -rf /etc/gitlab
rm -rf /var/log/gitlab
2) DNS 및 NSG 설정
- 외부에서 VM으로 트래픽이 들어올 수 있게, NSG에서 인바운드 보안 규칙으로 external_url에서 설정한 포트 번호를 오픈한다.
- 개인 도메인와 gitlab 접속 ip(http://20.214.139.201:80) 을 매핑하기 위하여 DNS 설정에서 A 레코드로 IP를 추가한다.
3) 접속 테스트
- Username은 root로 입력
- Password는 사전에 확인한 값으로 입력
3. Gitlab Registry 활성화
1) Gitlab Registry 활성화
1. GitLab 환경파일 수정
# 하기 파일의 registry_external_url 부분을 웹에서 접속할 URL로 변경
sudo vi /etc/gitlab/gitlab.rb
registry_external_url 'http://<vm ip>:8001'
2. gitlab 설정 변경 후 재설정과 재시작
gitlab-ctl reconfigure
'Container > Devops' 카테고리의 다른 글
[Devops] Jenkins, ArgoCD를 통한 CI/CD 구성 - (2) ArgoCD 구성 (1) | 2024.03.07 |
---|---|
[Devops] Jenkins, ArgoCD를 통한 CI/CD 구성 - (1) Jenkins 구성 (1) | 2024.03.07 |
[Devops] Jenkins에서 Plugin 및 Credential 설정 (0) | 2024.03.04 |
[Devops] Ubuntu에 Jenkins 설치 (1) | 2024.02.20 |
[Devops] Kubernetes에 ArgoCD 설치 (0) | 2024.01.02 |