본문 바로가기

카테고리 없음

[Git] GitLab 서버 만들기

내부망(온프레미스)에서 Git을 운영하려면 Git 서버를 직접 구축해야 하며, 다음과 같은 Git 관리 도구를 사용할 수 있음

 

1. GitLab

  • 기업에서 가장 많이 사용하는 자체 호스팅 가능한 Git 플랫폼

A. 주요 기능

  • Git 저장소 관리 및 CI/CD(지속적 통합 및 배포) 지원
  • 권한 관리 및 그룹 관리 가능
  • 웹 기반의 UI 제공 (GitHub과 유사)
  • Jira 및 Jenkins 등 다양한 외부 툴과 연동 가능
  • Open Source(커뮤니티 에디션, CE)와 상용 버전(Enterprise Edition, EE) 제공

B. 장점

  • 강력한 CI/CD 파이프라인 지원
  • 대규모 조직에 적합한 권한 관리 및 통합 보안 기능 제공
  • 웹 기반 GUI가 직관적이며 GitHub과 유사

C. 단점

  • 시스템 요구사항이 높음 (메모리 4GB 이상 권장)
  • 초기 설정 및 유지보수가 비교적 복잡

D. 추천 대상: 대규모 기업, DevOps 및 CI/CD 활용을 원하는 팀

 

2. GitLab 설치 및 설정

1) GitLab 컨테이너 실행

docker run --detach \
  --hostname gitlab.local \
  --publish 8929:8929 --publish 443:443 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume gitlab_config:/etc/gitlab \
  --volume gitlab_logs:/var/log/gitlab \
  --volume gitlab_data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

 

 

  • --publish 8929:8929 → 웹 인터페이스를 http://localhost:8929에서 접속 가능
  • --publish 22:22 → SSH를 사용하여 Git 리포지토리에 접근 가능
  • --volume gitlab_config:/etc/gitlab → 설정 파일 저장
  • --volume gitlab_logs:/var/log/gitlab → 로그 저장
  • --volume gitlab_data:/var/opt/gitlab → Git 저장소 데이터 저장

 

 

2) GitLab URL 설정

docker exec -it gitlab vi /etc/gitlab/gitlab.rb



# 설정 내용
external_url 'http://localhost:8929'



# 파일 저장 후 설정 반영
docker exec -it gitlab gitlab-ctl reconfigure docker restart gitlab



# 확인
docker exec -it gitlab grep "external_url" /etc/gitlab/

 

3) 웹 인터페이스 접속

 

 

4) 관리자 계정 설정

  • GitLab 컨테이너 내부에서 자동 생성된 비밀번호 확인
  • root 초기 비밀번호이며, 이 비밀번호는 최초 24시간 동안만 유효하므로 로그인 후 변경 필요
# 비밀번호 확인
docker exec -it gitlab cat /etc/gitlab/initial_root_password

 

 

 

  • User Settings(사용자 설정) >  Password(비밀번호)