Centos安装Gitlab Runners 详细流程 及常见问题

1.添加repository

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

2.安装包

yum install gitlab-runner

以上两步参考https://blog.csdn.net/weiguang1017/article/details/77720778

3.注册runner

 

sudo gitlab-runner register

执行上述命令之后,之后的流程如下:

第一处红线:输入部署完成的gitlab地址比如http://111.111.111.111:8080/

第二处红线: 输入token,token的值可以在登录gitlab之后,下图所示位置找到,先点击右上方Admin Settings,再找到左侧列表的runners

Centos安装Gitlab Runners 详细流程 及常见问题_第1张图片

Centos安装Gitlab Runners 详细流程 及常见问题_第2张图片

剩下的过程按照图示完成即可

自定以一个描述:Tencent

tags这个不填直接回车

是否锁定当前项目填false

执行者填shell

 

最后看到Runner registered successfully表示注册成功。

最后可以登录gitlab进行验证,有如图所有列表说明注册成功

Centos安装Gitlab Runners 详细流程 及常见问题_第3张图片

 

常见问题1:

Couldn't connect to Docker daemon at http+docker://localhost - is it running?

 

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

 

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post

类似以上这三类错误提示,都是因为执行gitlab-runner 的用户没有docker权限导致的

首先使用命令查看当前用户 whoami

可以看到该用户是gitlab-runner

参考这篇文章将该用户加入docker组:https://blog.csdn.net/baidu_36342103/article/details/69357438

执行以下命令:

sudo groupadd docker

sudo gpasswd -a gitlab-runner docker

sudo service docker restart(或者systemctl start docker)

newgrp - docker

执行完毕,以上问题解决

问题2:代码推送到gitlab上之后,一直是pending状态,要等很久才pick到一个runner来执行

 

这个现象一般发生在本机register了好几个runner,之前的都删除了,只留下一个,而且之前删除的哪些runner的gitlab地址和当前正在使用的不一样,比如以前是ip+端口号 现在改成了域名。

发生这个情况的原因是,我们只在gitlab管理平台删除的runner

Centos安装Gitlab Runners 详细流程 及常见问题_第4张图片

这种删除方式并没有完全删除记录,

执行如下命令

cd /etc

cd gitlab-runner

ls

vi config.toml

查看如下图

Centos安装Gitlab Runners 详细流程 及常见问题_第5张图片

可以看到之前删除的runner在这个配置文件里面仍有记录,

gitlab就会去逐个遍历这些runner,每次尝试因为gitlab的地址已经改变,导致长时间访问不同

一直到最后一个,才能真正开始运行。

所以,我们在管理界面删除runner的同时,还要把这个配置文件对应的runner删除。

删除之后,执行命令 gitlab-ruuner restart 重启runner

这样gitlab才能立即pick到我们制定的runner

 

 

你可能感兴趣的:(Gitlab)