gitlab 설치 방법
- gitlab 설치 방법은 host 직접 설치, docker를 이용한 컨테이너 설치로 구분
- 여기에서는 docker를 이용한 컨테이너 설치 활용
gitlab 설치 준비
- dockerhub에서 제공하는 gitlab 관련 공식 이미지는 (official image) gitlab-ce(community edition)과 gitlab-ee(Enterprise edition)이 있음
- 두 버전에 대한 특징은 아래와 같이 정리할 수 있음
항목 | gitlab-ce | gitlab-ee |
---|---|---|
무료 여부 | 무료 | 30일 trial 후 구매 필요 |
제공 기능 | 기본 기능 제공 | 모든 기능 제공 |
제약 사항 | 기본 기능외 활용 불가 | 모든 기능 활용 가능 |
제약 기능 예 | pipeline에서 test 리스트 확인 부가 | - |
- 위 비교 분석 결과에 따라 gitlab-ee 30 trial version 이미지를 설치하기로 함.
gitlab docker-compose yml 제작
- gitlab 컨테이너 기동을 위해 아래와같이 docker-compose 탬플릿 제작
- docker-compose-gitlab-ee.yml
version: '3.1' services: gitlab: container_name: summit-gitlab-ee image: gitlab/gitlab-ee:latest hostname: gitlab.summit.com ports: - 80:80 # - 443:443 # - 22:22 volumes: - /Users/summit/Documents/CICD/gitlab-ee/srv/config:/etc/gitlab - /Users/summit/Documents/CICD/gitlab-ee/srv/logs:/var/log/gitlab - /Users/summit/Documents/CICD/gitlab-ee/srv/data:/var/opt/gitlab - /Users/summit/Documents/CICD/gitlab-ee/srv/backup:/var/opt/gitlab/backups environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.summit.com' restart: always
docker-compose 기동
- 아래 docker-compose cli 스크립트를 통해 gitlab-ee 기동
docker-compose -f docker-compose-gitlab-ee.yml up -d
Info Notice: docker-compose 탬플릿 문법이나 기동 스크립트에 대한 설명은 다음 링크 참조 https://docs.docker.com/compose/
기동 결과
- 기동 후 웹 접속하여 정상 동작 확인
-
최초 접속시 계정은 root 이고 초기 비밀번호는 웹접속과 동시에 설정하여 사
gitlab 과 gitLab Runner 연동
gitLab Runner docker-compose.yml 작성
- 작성 내용은 아래와 같음(파일 명: docker-compose-gitlab-runner.yaml)
- 특징으로는 volume 마운트를 했는데 주석 처리된 것은 gitLab Runner 설정 정보가 휘발되지 않도록 호스트 디렉토리와 마운트 한 것인데 뭔가 문제가 있어서 실패함(차후에 해결 하기로)
-
두 번째는 gitLab Runner 구동에 필요한 docker.sock 볼륨 마운트 함
version: '3.1' services: gitlab-runner: container_name: summit-gitlab-runner image: gitlab/gitlab-runner:latest volumes: # - /Users/summit/Documents/CICD/gitlab-runner/srv/config:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock restart: always
gitLab Runner 구동
- docker-compose CLI 명령을 통해 gitLab Runner 구동
docker-compose -f docker-compose-gitlab-runner.yaml up -d
참고 docker-compose 명령어(https://docs.docker.com/compose/reference/)
gitLab에 매핑
- gitLab 화면에 접속
-
메뉴 이동: settings > CICD > Runners > [Expand] > registration token 복사
-
gitLab Runner 컨테이너 내부 접속
docker exec -it summit-gitlab-runner bash
-
비대화 방식으로 설정
gitlab-runner register -n \ --url http://gitlab.summit.com \ --registration-token qFjRviuhhTfz4gnhsv7J \ --description gitlab-runner \ --executor docker \ --docker-image docker:latest \ --docker-volumes /var/run/docker.sock:/var/run/docker.sock
- 참고로 url에 있는 도메인은 맥의 경우 /private/etc/hosts에 설정하여 통신이 가능하도록 함
-
설정 후 20초 정도 뒤에 아래와 같은 결과 확인되면 연결 완료 임
댓글남기기