代码改变世界

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

升级到当前最新版Gitlab之后

在“管理中心”的“CI/CD”--“Runners”下,提示以前的那种注册令牌的方式已经过时了。

img

点击右上角按钮后,弹出对话框如下:

img

上图画红框的信息,deprecated是“不赞成,反对”的意思。就是说注册令牌已经被放弃了,未来将会不支持。暂时还是可以用。

点击蓝色按钮:New Instance Runner

img

img

上图我们就在“Run untagged jobs”打勾,然后点击“Create Runner”蓝色按钮。

到了下一步:

alt text

上图明确列出了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”,看这里:

制作执行Gitlab Runner的作业所需要的镜像 

把两个容器都执行gitlab-runner register之后

img

posted on 2024-02-27 10:50  终南山人  阅读(112)  评论(0编辑  收藏  举报