文章目录
- 概要
- 操作流程
- 获取HTTPS证书
- 上传证书
- 修改gitlab-runner dns配置文件
- gitlab-runner 注册
概要
本文主要介绍了Gitlab-runner在内网环境注册到gitlab的操作方式。内网环境如下:
1、gitlab-runner由docker镜像部署;
2、gitlab部署与内网,有域名,通过HTTPS访问。
操作流程
获取HTTPS证书
由于gitlab通过https访问,因此需要给gitlab-runner添加证书,才能正常访问,否则会出现
ERROR: Registering runner... failed
runner=GR134894 status=couldn't execute POST against https://git.XXXX.XXXX.cn/api/v4/runners: x509: certificate signed by unknown authority
PANIC: Failed to register this runner. Perhaps you are having network problems
证书获取方式:
1、通过chrome浏览器访问gitlab
2、登录后,按照下图方式步骤将HTTPS证书导出
上传证书
1、将证书文件上传至gitlab runner服务器,并放入容器中指定位置
修改gitlab-runner dns配置文件
2、由于gitlab是通过域名访问的,因此还需要修改容器的dns配置,以便于能解析域名,修改方式如下:
# 192.168.x.x 为dns服务器地址,/etc/resolv.conf为dns配置文件
$ echo 'nameserver 192.168.xx.xxx' >> /etc/resolv.conf
gitlab-runner 注册
在gitlab-runner容器内执行下述指令,即可完成注册
$ gitlab-runner register
--url "https://git.xxxx.xxxx.cn/" \
--registration-token "xxxxxxx" \
--tls-ca-file "/xxx.crt" \
--pre-clone-script "git config --global http.sslVerify false" \
--description "This is a runner of project" \
--executor "shell" \
--tag-list "project-name" \
--locked=false
参数说明:
参数名 | 说明 |
---|---|
–url | gitlab地址 |
–registration-token | 注册token,可在gitlab的runner配置界面获取 |
–pre-clone-script | git config --global http.sslVerify false ,配置为该值是为了不验证ssl证书的有效性,避免出现SSL certificate problem: unable to get local issuer certificate 问题 |
–description | runner的描述,一般描述runner用于编译什么项目 |
–tag-list | runner的标签,一般用项目名表示 |