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
相关推荐
曾庆睿2 天前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第一篇】
kubernetes·自动化·gitlab
曾庆睿2 天前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第二篇】
kubernetes·自动化·gitlab
高木木的博客5 天前
数字架构智能化测试平台(2)--AI DevOps测试流程框架
python·llm·fastapi·cicd
xmlhcxr6 天前
从 0 到 1 落地企业级 DevOps CI/CD 流水线:基于 GitLab+Jenkins+Harbor 的完整实践
运维·docker·gitlab·jenkins·harbor·devops
高旭的旭6 天前
GitLab Omnibus Docker 内存优化实战:从 4.7 GiB 降到 3.2 GiB
docker·容器·gitlab
牛奶咖啡1310 天前
Git实践——GitLab服务器的部署与使用
gitlab·gitlab是什么·gitlab有啥用·gitlab适用场景·gitlab的版本如何选·安装部署gitlab·gitlab的使用
lisanmengmeng11 天前
Gitlab搭建
gitlab
dapeng-大鹏13 天前
记一次 GitLab Let‘s Encrypt 证书申请失败的排查与修复
gitlab