How to use gitlab-runner to execute CI?

  1. Download a gitlab-runner docker image
bash 复制代码
docker pull gitlab/gitlab-runner:latest
  1. Run the GitLab Runner Container
bash 复制代码
docker run \
    -v /your-path/gitlab-runner/config:/etc/gitlab-runner \
    -v /your-path/gitlab-runner/cache:/cache \
	-v /var/run/docker.sock:/var/run/docker.sock \
    --name gitlab-runner gitlab/gitlab-runner:latest
  • --name gitlab-runner:设置容器名称。
  • --restart always:设置容器在 Docker 重启后自动启动。
  • -v /your-path/gitlab-runner/config:/etc/gitlab-runner:将本地路径 /your-path/gitlab-runner/config 挂载到容器中的 /etc/gitlab-runner,用来存储 GitLab Runner 的配置文件。
  • -v /var/run/docker.sock:/var/run/docker.sock:挂载 Docker socket,用以支持Docker执行器。
  1. Register a runner
bash 复制代码
docker run -it --rm -v /your-path/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
  --non-interactive \
  --executor "docker" \
  --docker-image alpine:latest \
  --url "https://your-gitlab.com/" \
  --registration-token "your token from gitlab" \
  --description "runner" \
  --tag-list "runner-01"
  1. config.toml
bash 复制代码
concurrent = 10
check_interval = 0
connection_max_age = "15m0s"
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "runner"
  url = "https://your-gitlab.com/"
  id = 1
  token = "your token"
  token_obtained_at = 2024-11-13T06:53:07Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    MaxUploadedArchiveSize = 0
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    #image = "alpine:latest"
    image = "your-harbor.com/base_image/alpine:latest"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = [
      "/cache",
      #"/your-path/gitlab-runner/npm_cache:/root/.npm",
      "/your-path/gitlab-runner/npm_cache:/tmp/.npm",
      "/your-path/gitlab-runner/nuget_cache:/root/.nuget/packages",
      "/var/run/docker.sock:/var/run/docker.sock",
      "/your-path/gitlab-runner/config/certs:/certs"
      ]
    shm_size = 0
    network_mtu = 0
  1. Stop gitlab-runner
bash 复制代码
docker stop gitlab-runner
docker rm gitlab-runner
相关推荐
一战成名99616 小时前
AI 模型持续集成流水线:CANN 支持的 DevOps 最佳实践
人工智能·ci/cd·devops
我会一直在的16 小时前
Devps持续集成
git·ci/cd
不倒翁玩偶16 小时前
Gitlab拉取代码token换成账号密码登录
gitlab
xixingzhe217 小时前
ubuntu安装gitlab
linux·ubuntu·gitlab
切糕师学AI2 天前
GitLab 是什么?
gitlab
池央2 天前
CANN oam-tools 诊断体系深度解析:自动化信息采集、AI Core 异常解析与 CI/CD 流水线集成策略
人工智能·ci/cd·自动化
池央2 天前
CANN GE 深度解析:图编译器的核心优化策略、执行流调度与模型下沉技术原理
人工智能·ci/cd·自动化
3GPP仿真实验室3 天前
【Matlab源码】6G候选波形:OFDM-IM 增强仿真平台 DM、CI
开发语言·matlab·ci/cd
小Tomkk3 天前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
_运维那些事儿3 天前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算