文章目录
- 概要
- 操作流程
- 获取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的标签,一般用项目名表示