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 과 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

  • 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초 정도 뒤에 아래와 같은 결과 확인되면 연결 완료 임

    gitlab

태그:

카테고리:

업데이트:

댓글남기기