[docker] Docker-compose GitLab

 

공식가이드 : https://docs.gitlab.com/omnibus/docker/

Installation from source GitLab 을 설치 하다가 문제가 생겨 Docker 로 옮겨와서 테스트를 하고 있습니다.

GitLab Requirments : https://docs.gitlab.com/ce/install/requirements.html OS 의 경우 대부분의 OS 를 지원 합니다.

일전에 포스트한 FreeBSD(Unsupported Unix distributions 라고 문서에 나와 있지만 설치가 됩니다.)

에서도 동작하며 일반적으로 많이 사용하는 Linux 에서는 설치하는데 문제가 없습니다.

(Ubuntu / Debian / CentOS / openSUSE 등) Storage 의 경우 GitLab 을 사용하는 용량만큼 달라질수 있으며 사용량이 많을 경우 LVM 등으로 붙여서 사용하는것이 용의해 보입니다.

또한 SSD 를 사용하여 응답속도를 조금더 빠르게 할수 있습니다.

cpu 의 경우 2 core 의 경우 500 명의 사용자를 지원 하고 1 core 의 경우 100명의 사용자를 지원 하지만 응용프로그램이 약깐 느려질수 있습니다. Memory 의 경우 4G + 4G Swap 최대 100명 사용자를 지원 하지만 속도가 느리고 8G 사용을 권장 합니다. 테스트 머신의 경우 ubuntu 16.04 / 2core cpu / 4G memory 사용 하여 테스트를 진행 하였습니다.

 

 

가이드 부분에 보면 아주 쉽게 설명이 되어 있습니다.

아래 내용과 동일하게 테스트를 해도 되지만 관리상 편하게 몇군대를 수정 하였습니다.

GitLab 제공 Docker-compose.yml 파일

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

 

ports 부분의 경우 22:22 으로 연결을 해줍니다.

기본적으로 ssh 연결포트로 사용하기 때문에 해당 포트를 알려지지 않은 포트로 변경 합니다.

volume 부분의 경우 최상위 디렉토리가 아닌 Docker 관리 디렉토리에서 변경을 한다면 GitLab 서비스와 관리 하기 편하기 때문에

Workspcae/gitlab 아래의 디렉토리로 설정을 합니다.

 

docker-compose 설치

test@docker-test:~/Workspace$ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
test@docker-test:~/Workspace$ sudo chmod +x /usr/local/bin/docker-compose
test@docker-test:~/Workspace$ docker-compose --version

 

docker-compose.yml 파일 생성

gitlab 디렉토리를 생성후 docker-compose.yml 파일을 생성합니다.

test@docker-test:~/Workspace/gitlab$ vi docker-compose.yml
web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
  ports:
    - '80:80'
    - '443:443'
    - '1234:22'
  volumes:
    - './srv/gitlab/config:/etc/gitlab'
    - './srv/gitlab/logs:/var/log/gitlab'
    - './srv/gitlab/data:/var/opt/gitlab'

test@docker-test:~/Workspace/gitlab$

 

docker-compose 실행

test@docker-test:~/Workspace/gitlab$ docker-compose up -d --build

 

external_url ‘https://gitlab.example.com’  의 경우 https 로 할경우 Web에서 접속을 https 로 접속을 해야 합니다.

http 로는 접속을 할수 없습니다.

http 를 사용하기 위해선 external_url ‘http://gitlab.example.com’ 로 설정 하시면 됩니다.

 

http 확인

Windows hosts 추가후 test domain 을 사용하였습니다.

 

https 확인

GitLab Server ip 로 접속시에도 동일합니다. 

 

 

http 접속 확인

docker-compose 의

external_url ‘https://gitlab.example.com’ => external_url ‘http://gitlab.example.com’ 부분을 변경하였습니다.

실제로 사용할 경우 디렉토리를 삭제후 다시 만들어 사용하는걸 권장합니다.

root user 의 password 를 설정 합니다.

 

docker-compose up -d –build 후 약 1분 ~ 2분 정도의 시간이 필요 합니다.

GitLab Service 가 정상적으로 올라가지 않은상태에서 웹사이트 접속시 아래와 같은 화면을 확인할수 있습니다.

 

 

root User 로 로그인

 

 

 

 

댓글 남기기