Gitlab

参考情報

gitlab

# mkdir -p /home/gitlab/{config,data,logs}

docker-compose

web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.jdnet.biz' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.jdnet.biz' ;\ nginx['ssl_client_certificate'] = "/etc/gitlab/ssl/ca.crt" ;\ registry_external_url 'https://gitlab.jdnet.biz:5005' ;\ registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl//gitlab.jdnet.biz.crt" ;\ registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.jdnet.biz.key" ;\ gitlab_rails['time_zone'] = 'Asia/Tokyo' ports: - '80:80' - '443:443' - '1022:22' - '5005:5005' volumes: - '/home/gitlab/config:/etc/gitlab' - '/home/gitlab/logs:/var/log/gitlab' - '/home/gitlab/data:/var/opt/gitlab'

証明書作成

sudo docker run -e SSL_SUBJECT="*.jdnet.biz" -e SSL_DNS="gitlab.jdnet.biz" -e SSL_DNS="registry.jdnet.biz" -e SSL_IP="192.168.1.224" -v /tmp/certs:/certs paulczar/omgwtfssl

設定を反映

docker exec gitlab-ce_web_1 gitlab-ctl reconfigure

環境設定

CI_JOB_TOKEN CI_USER DOCKER_TLS_CERTDIR DOCKER_HOST tcp://localhost:2378 GIT_SSL_NO_VERIFY true

gitlab-runner

インストール

# apt install gitlab-runner

証明書をコピー

# openssl s_client -connect gitlab.jdnet.biz:443 -showcerts < /dev/null | openssl x509 -outform PEM > /etc/gitlab-runner/certs/gitlab.domain.crt depth=0 CN = gitlab.domain verify error:num=18:self signed certificate verify return:1 depth=0 CN = gitlab.domain verify return:1 DONE

レジスト

# gitlab-runner register Runtime platform arch=amd64 os=linux pid=11698 revision=6c154264 version=11.11.0 Running in system-mode. Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): https://gitlab.domain/ Please enter the gitlab-ci token for this runner: TOKEN Please enter the gitlab-ci description for this runner: [grunner]: Please enter the gitlab-ci tags for this runner (comma separated): docker Registering runner... succeeded runner=ChwEieR- Please enter the executor: ssh, virtualbox, docker-ssh+machine, kubernetes, docker-windows, parallels, shell, docker+machine, docker, docker-ssh: docker Please enter the default Docker image (e.g. ruby:2.1): docker:latest Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!