升级到当前最新版Gitlab之后
在“管理中心”的“CI/CD”--“Runners”下,提示以前的那种注册令牌的方式已经过时了。
点击右上角按钮后,弹出对话框如下:
上图画红框的信息,deprecated是“不赞成,反对”的意思。就是说注册令牌已经被放弃了,未来将会不支持。暂时还是可以用。
点击蓝色按钮:New Instance Runner
上图我们就在“Run untagged jobs”打勾,然后点击“Create Runner”蓝色按钮。
到了下一步:
上图明确列出了gitlab-runner注册的命令。和以前的15.6.1的版本并没有什么太大不同。
在容器中执行gitlab-runner register操作
由于我么的gitlab-runner是安装在容器里,我们得用docker exec进入每个容器执行register操作
下边的步骤还是和gitlab 16.6.1的版本几乎没有区别。
进入容器内部
root@dev-server:~# docker exec -it gitlab-runners_home_2 /bin/bash
root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners# docker exec -it gitlab-runners_home_1
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Execute a command in a running container
root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners# docker exec -it gitlab-runners_home_1 /bin/bash
root@6b9709615e72:/# gitlab-runner register --url https://gitlab.amihome.cn --token glrt-hY7-gcCwwsp4Rsa-8NbR
Runtime platform arch=amd64 os=linux pid=33 revision=656c1943 version=16.9.0
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
[https://gitlab.amihome.cn]:
Verifying runner... is valid runner=hY7-gcCww
Enter a name for the runner. This is stored only in the local config.toml file:
[6b9709615e72东方大力士甲
Enter an executor: custom, shell, ssh, virtualbox, docker+machine, parallels, docker, docker-windows, kubernetes, docker-autoscaler, instance:
docker
Enter the default Docker image (for example, ruby:2.7):
docker.amihome.cn/amihome/gitlab/docker-linux-dotnet8.0:latest
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
初学者容易费解的是上一节最后一步的“Enter the default Docker image”
比如我的机器上,现在有两个容器在运行:
1、gitlab-runners_home_1
2、gitlab-runners_home_2
上述两个容器用于和Gitlab服务器保持“通信”,等着领取“作业”。
当领到“作业”以后,由于我们在“Enter an executor”这里输入的是“docker”,这个时候就会在物理机器上用docker run命令,启动一个容器,这个容器是临时的,执行完“作业”就会销毁。
“Enter the default Docker image”这里的url就是上述docker run时候要使用的image。
这个image就是得自己制作的。我们的项目当前使用.NET 8,想制作上一段提到的“docker.amihome.cn/amihome/gitlab/docker-linux-dotnet8.0:latest”,看这里:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)