gitlab 官方文檔:Install as a Docker service
1.安裝docker
首先要在服務(wù)器上安裝 docker贼陶。
curl -sSL https://get.docker.com/ | sh
2.啟動 docker
sudo service docker start
3.docker 需要用戶具有 sudo 權(quán)限师痕,為了避免每次命令都輸入 sodo二鳄,可以把用戶加入 docker 組氏义。
sudo usermod -aG docker username
改變用戶組
newgrp docker
重啟 docker 服務(wù)
sudo service docker restart
此時(shí)可以不再輸入 sudo 執(zhí)行 docker 命令淮韭。
否則非 root 用戶操作時(shí)會報(bào)錯(cuò):
Server:
ERROR: Got permission denied while trying to connect to the Docker
daemon socket at unix:///var/run/docker.sock: Get
http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info: dial unix /var/run/docker.sock:
connect: permission denied
- 掛在數(shù)據(jù)卷到容器中
-v
表示掛載數(shù)據(jù)卷
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:alpine
- 注冊 runner
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner:alpine register
之后是回答一系列問題财搁,最后 Runner executor
記得選擇 docker。
default image
輸入 alpine:latest
慕购。
- 查看當(dāng)前運(yùn)行的容器
docker ps
- 進(jìn)入容器
docker exec -it <docker-id> /bin/bash
退出容器
exit
8.重啟runner
docker restart gitlab-runner
注意事項(xiàng)
1.runner 配置文件 config.toml
里面的 build_dir
字段可以重新指明 build 的目錄聊疲,默認(rèn)對應(yīng)于宿主機(jī)的目錄是:/var/lib/docker/volues/<volume-id>/_data/<project-name>
但這個(gè)目錄隱藏的太深,如果你希望runner 執(zhí)行完后還能找到構(gòu)建目錄沪悲,可以通過下面的掛載數(shù)據(jù)方式指定成期望的目錄获洲。
[[runners]]
name = "docker mode for runner"
url = "https://git.myscrm.cn/"
token = "******"
executor = "docker"
builds_dir = "/home/workspace"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache","/home/workspace:/home/workspace:rw"]
shm_size = 0