Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

gitlab-ee

Note

사설 인증서를 이용하여 SSL을 적용하였습니다.

환경

OS

CentOS 7

Docker version

Docker version 1.13.1, build 64e9980/1.13.1

환경 변수 설정

설치 전에 환경 변수를 설정해줍니다.

Code Block
export GITLAB_HOME=/srv/gitlab

GitLab container는 다음과 같이 호스트로 마운트 된 볼륨에 데이터를 영구적으로 저장합니다.

Local location

Container location

Usage

$GITLAB_HOME/data

/var/opt/gitlab

application data를 저장

$GITLAB_HOME/logs

/var/log/gitlab

log를 저장

$GITLAB_HOME/config

/etc/gitlab

GitLab configuration 파일을 저장

인증서 복사

Code Block
mkdir -p $GITLAB_HOME/config/ssl
cp gitlab.centos.com.* $GITLAB_HOME/config/ssl/

설치

Code Block
languagebash
sudo docker run --detach \
   --hostname gitlab.examplecentos.com \
   --publish 443:443 --publish 80:80 --publish 22:22 --publish 5050:5050 \
   --name gitlab \
   --restart always \
   --privileged \
   --volume $GITLAB_HOME/config:/etc/gitlab \
   --volume $GITLAB_HOME/logs:/var/log/gitlab \
   --volume $GITLAB_HOME/data:/var/opt/gitlab \
 --env GITLAB_OMNIBUS_CONFIG="external_url 'https://gitlab.centos.com'; letsencrypt['enable'] = false; registry_external_url 'https://gitlab.centos.com:5050';" \
  gitlab/gitlab-ee:latest
  • --privileged : 해당 권한을 추가하지 않으면 --volume 옵션에 명시된 디렉토리와 관련하여 권한 오류가 발생할 수 있습니다.

gitlab-runner

환경 변수 설정

Code Block
export GITLAB_RUNNER_HOME=/srv/gitlab-runner

 

인증서 복사

Code Block
mkdir -p $GITLAB_RUNNER_HOME/config/certs
cp gitlab.example.com.crt $GITLAB_RUNNER_HOME/config/certs

 

Container 생성

Code Block
docker run -d --name gitlab-runner --restart always \
  --privileged \
  -v /etc/hosts:/etc/hosts \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $GITLAB_RUNNER_HOME/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest