Top

Docker-Compose로 Ubuntu에 GitLab 설치

주의사항

준비

root 계정으로 쟉업한다.

sudo passwd root
...
su
mkdir /srv/gitlab
cd /srv/gitlab/

다음 파일을 생성하고 편집

sudo gedit docker-compose.yaml

다음 내용. 버전, 호스트 이름, URL을 설정하고 저장 한다.

web:
  #image: 'gitlab/gitlab-ce:latest'
  image: 'gitlab/gitlab-ce:13.7.1.ce.0' # 백업된 파일 버전에 맞는 버전을 선택한다.
  restart: always
  hostname: 'git.sm'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://git.sm'
      # 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'
    - '/srv/gitlab/backups:/var/opt/gitlab/backups' # 이 볼륨은 백업 폴더를 링크 하도록 한다.

작성하였으면 docker-compose로 올린다.

docker-compose up -d

gitlab 업그레이드

docker-compose pull # 업그레이드
docker-compose up -d # 컨테이너 올리기

컨테이너 내리기

docker-compose down

컨테이너 제거

docker-compose rm

gitlab 제거 후 다시 올려도 데이터 보존 및 동작 확인

docker-compose up -d

상태 확인

docker exe -it <name of container> gitlab-ctl status

각 프로세스들이 run 상태이면 정상이다.

백업과 복원

백업

gitlab-backup create

백업 복원

주의: 백업 파일 버전과 gitlab 파일 버전이 일치해야 한다.

컨테이너 보기

docker ps

데이터 베이스에 연결되는 프로세스를 중단시킨다.

docker exec -it <name of container> gitlab-ctl stop unicorn
docker exec -it <name of container> gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq

해당 프로세스들이 중단 되었는지 확인 한다.

docker exec -it <name of container> gitlab-ctl status

백업 파일은 지정된 backups 폴더에 있어야 한다. 여기서 백업 파일 이름은 해시_년_월_일_버.어.전_gitlab_backup.tar인데 마지막 _gitlab_backup.tar는 제외하고 해시_년_월_일_버.어.전으로 지정한다.

docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce

gitlab-secrets.jsonconfig 폴더에 리스토어 한다.

그리고, 컨테이너를 다시 시작한다.

docker restart <name of container>

잘 동작 하고 있는지 체크한다.

docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true

이슈

현재 이 메일이 동작하지 않음

참조

https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose https://docs.gitlab.com/12.10/omnibus/docker/#install-gitlab-using-docker-compose