gitlab ci Runner 配置

gitlab可以配置本地的runner,配置之后,执行tag yeshen-pc 之后,就可以跑到我定义的机器上。

好处是:

  1. 如果服务器没有支持ci/cd,可以本机直接跑(就是自己电脑做基建了)
  2. 如果服务器不支持访问dockerhub,但是本机可以,这样也可以用到dockerhub上的镜像了
  3. 可以配置指定本地镜像,这样在前期开发不太稳定的时候,不需要频繁构建上dockerhub

本地 Runner 配置

Step 1 注册 Runnner

gitlab -> project(ci-test) -> settings -> CI/CD -> Runners -> Specific runners

https://yeshen.org/ys/ci_test/-/settings/ci_cd

Step 2 注册

sh 复制代码
# 注册使用上面的配置信息
$ docker volume create gitlab-runner-config
$ docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register

----------
# Enter the GitLab instance URL (for example, https://gitlab.com/):
上面截图的URL
# Enter the registration token:
上面截图的TOKEN
# Enter a description for the runner:
[cd48fa3a5a05]: yeshen-pc            
# Enter tags for the runner (comma-separated):
yeshen-personal-pc
# Enter optional maintenance note for the runner:
yeshen-pc
# WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://docs.gitlab.com/ee/ci/runners/new_creation_workflow 
# Registering runner... succeeded                     runner=GR13489414zrDvCSj
# Enter an executor: ssh, parallels, virtualbox, docker, docker-windows, docker+machine, custom, shell, instance, kubernetes, docker-autoscaler:
docker
# Enter the default Docker image (for example, ruby:2.7):
debian:10-slim

step 3 本机运行一个Runner

sh 复制代码
docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v gitlab-runner-config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

指定只使用本地镜像(避免从 DockerHub 拉取)

当 runner 以 Docker 方式部署时,可通过修改 config.toml 设置 pull_policy = "never"

步骤

  1. 从容器中复制配置文件:
bash 复制代码
docker cp gitlab-runner:/etc/gitlab-runner/config.toml /tmp/config.toml
  1. 在每个 [runners.docker] 段落下添加:
toml 复制代码
[runners.docker]
  pull_policy = "never"
  1. 将修改后的配置复制回容器并重启 runner:
bash 复制代码
docker cp /tmp/config.toml gitlab-runner:/etc/gitlab-runner/config.toml
docker restart gitlab-runner
相关推荐
daemon.qiang5 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li5 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
Java后端的Ai之路6 天前
一文搞懂 GitHub Actions-CICD
开发语言·大模型·github·cicd·action
旧梦星轨7 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨7 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐10 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li10 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐11 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵12 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐12 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化