Docker安裝Gitlab-runner


# 拉取鏡像
docker pull gitlab/gitlab-runner:latest

# 創建掛載目錄
mkdir -p /opt/gitlab-runner/config

# 啟動容器
docker run -d --name gitlab-runner --restart always -v /opt/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest

進入runner容器,注冊到gitlab上

匯總操作命令:

docker exec -it gitlab-runner  gitlab-runner register -n \
  --url http://192.168.0.253:8090 \
  --registration-token tyXBwC8frbShS4yn3nE5 \ # token需要根據實際情況進行修改
  --tag-list=dockersock,docker \
  --description "dockersock" \
  --docker-privileged=true \
  --docker-pull-policy="if-not-present" \
  --docker-image "docker:latest" \
  --docker-volumes /var/run/docker.sock:/var/run/docker.sock \
  --docker-volumes /root/m2:/root/.m2 \
  --executor docker 

分步操作命令:

# 進入容器
docker exec -it gitlab-runner /bin/bash

# 運行以下注冊命令
gitlab-runner register

# 輸入Gitlab實例的地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://192.168.0.253:8090  # 端口采用默認的80,否則需要加上端口,比如 http://192.168.0.253:8090

# 輸入token
Please enter the gitlab-ci token for this runner
tyXBwC8frbShS4yn3nE5

如何獲取token
進入到項目中的設置,找到CI/CD,Runner ,圖片這個token僅供途徑展示

# 輸入Runner的描述,后期可以手動修改
Please enter the gitlab-ci description for this runner
[hostname] my-runner

# 輸入與Runner關聯的標簽,后期可以手動修改
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag

# 輸入Ruuner的執行者
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker

# 如果上面執行者為docker,需要你在后續項目根部的.gitlab-ci.yml中指定docker版本
Please enter the Docker image (eg. ruby:2.1):
alpine:latest

通過以上命令后,就可以在gitlab中查看到了這個剛剛創建的runner

runner注冊完畢之后,還需要修改一下runner的配置文件,實現runner與宿主機的數據掛載:

vim /opt/gitlab-runner/config/config.toml # 開頭創建的宿主機掛載目錄

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "my-runner"
  url = "http://192.168.0.253:8090"
  token = "tyXBwC8frbShS4yn3nE5"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "alpine:latest"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock"]
    shm_size = 0

原先是volumes = ["/cache"]
上面的volumes數組中添加docker的掛載,加快項目的構建速度。

最后,只需要再重啟runner容器即可:

docker restart gitlab-runner

說明:
1.不同的項目可以使用不同的gitlab-runner,根據實際情況再運行一個名稱不一樣的容器,並根據新項目的token注冊就行了。
2.不同的項目還可以使用同一個gitlab-runner,只需要在注冊的時候使用不同項目下的token就行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM