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
相关推荐
极小狐1 天前
从 GitLab Flow 到 Pipeline:分支策略 + CI/CD + 运维一文打通
ci/cd·gitlab·devops·极狐gitlab
猫头虎2 天前
GitHub 入门教程:如何加入并为开源项目贡献代码
gitee·开源·gitlab·github·开放原子·开源协议·gitcode
深念Y2 天前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
悠然南风4 天前
【云原生学习】Prometheus监控、GitLab与Jenkins部署实战
kubernetes·gitlab
极小狐5 天前
极狐GitLab Runner 自托管安全加固指南
安全·ci/cd·gitlab·devops·runner·安全加固
潘正翔6 天前
jenkins构建cicd流水线
运维·服务器·ci/cd·容器·自动化·jenkins·cicd
钝挫力PROGRAMER6 天前
Windows Docker 环境搭建 GitLab CI/CD 流水线
windows·docker·gitlab·gitlab-runner
我一定会有钱12 天前
打造完美工作流:Git 配置”一次推送,三端同步”(Gitee/GitCode/GitHub)
开发语言·windows·vscode·搜索引擎·gitlab·github·visual studio code
LXY_BUAA12 天前
Git_在飞牛中部署 GitLab_20260817
git·gitlab