前言
准备工作
服务器实例:我们需要有一个服务器,可以是公网服务器也可以是本地的Linux虚拟机,我们这里选择使用本地的虚拟机(centos 7)
安装Runner
设置Gitlab仓库
执行命令并等待安装完成
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
安装Gitlab Runner
以下两种,按照需求进行安装,我们这里是安装的最新版本的Runner
安装最新版Gitlab Runner
执行命令并等待安装完成
sudo -E yum install gitlab-runner
安装指定版本的Gitlab Runner
yum list gitlab-runner --showduplicates | sort -r
sudo -E yum install your-runner-version
注册Runner
Runner的分类
- Shared Runner:所有的组和项目公用的Runner
- Group Runner:某个组的Runner
- Project-specific Runner:某个项目的Runner
获取Runner-token
不同的Runner注册时主要体现在Token的获取方式不同,我们这里使用共享Runner的方式来注册,在Setting>Overview > Runners中获取token
注册
调出注册命令
sudo gitlab-runner register
输入平台地址
在获取token界面有咱们的注册地址,直接复制粘贴过来
输入token
复制token并输入
输入runner描述
输入你对这个节点的描述,稍后可以修改
输入runner标签
标签有三个可选值:share runner,group runner,specific runner,我们这里选择shared runner
设置执行器
这里可选的有:docker, parallels, ssh, docker+machine, docker-ssh+machine, kubernetes, custom, docker-ssh, shell, virtualbox,我们选择的是docker
设置默认镜像
我们运行的是java程序,这里选择的镜像是baldwinkm/jdk:8,不过好像并不用设置,因为我们的后续在部署的时候会在.gitlab-ci.yml文件中做新的设置,具体我没有验证
注册成功
注册成功会有以下提示
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
刷新控制界面,有新的runner注册
FAQ
couldn’t execute POST against https:///api/v4/runners: Post https:///api/v4/runners: x509: certificate signed by unknown authority
这是因为我们创建gitlab平台的时候使用的是自注册的证书,在runner节点上是无法识别的,此时需要将gitlab上的证书下载到runner节点上,并在注册时执行命令
gitlab-runner register --tls-ca-file your-crt-path
总结
注册过程很流畅,只有证书那边出现了点问题,在配置好证书后,就解决了问题,但是这个自注册的证书一直给我造成了很大的麻烦,打算抽时间重新搭建一个gitlab,使用公网证书。