Docker Compose 파일로 GitLab을 도커 기반으로 구성한 내용을 정리 합니다.
GitLab 소개
GitLab이란?
GitLab은 코드 관리와 협업을 위한 강력한 오픈 소스 플랫폼입니다. 소프트웨어 개발의 모든 단계를 하나의 어플리케이션에서 관리할 수 있는 통합 솔루션을 제공합니다. 이는 소프트웨어 개발자들에게 코드 저장소, 코드 검토, 이슈 트래킹, 지속적인 통합 및 배포(CI/CD) 등의 기능을 하나의 인터페이스에서 사용할 수 있게 해줍니다.
GitLab의 주요 특징
- 버전 제어 및 협업: GitLab은 Git 기반의 버전 제어 시스템을 사용하여 코드 변경 사항을 추적하고 여러 개발자 간의 협업을 용이하게 합니다.
- 지속적인 통합(CI) 및 배포(CD): GitLab CI/CD는 소프트웨어 개발 과정에서 코드의 통합과 테스트, 배포를 자동화하여 효율성과 신뢰성을 높여줍니다.
- 이슈 추적 및 프로젝트 관리: 이슈 트래커를 사용하여 버그를 추적하고, 기능 개발을 계획하며, 프로젝트 진행 상황을 관리할 수 있습니다.
- 보안: GitLab은 코드 보안 및 취약점 관리를 위한 다양한 도구와 통합된 보안 기능을 제공합니다.
- 확장성 및 유연성: GitLab은 클라우드와 온-프레미스 환경 양쪽에서 모두 사용 가능하며, 다양한 팀과 프로젝트의 요구사항에 맞게 쉽게 확장하고 맞춤 설정할 수 있습니다.
GitLab 구성
- gitlab-ce 버전 설치
docker-compose.yml
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
# Add any other gitlab.rb configuration here, each on its own line
external_url 'https://localhost'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m'
컨테이너 실행
docker-compose up -d
접속 테스트
- 접속 URL : http://localhost

- 초기 root 패스워드 확인
docker exec -it gitlab grep Password: /etc/gitlab/initial_root_password /bin/bash
- 로그인 및 GitLab 접속

정상적으로 사이트 로그인 되는 것이 확인됩니다.