参考 https://docs.gitlab.com/runner/install/index.html,可以选择与gitlab相同的版本。
gitlab runner可以通过安装binary包或docker方式启动,下文以其中一种安装方式为例,系统为ubuntu.
1. 添加gitlab 官方 repo
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
2. 安装最新版或特定版本
sudo apt-get install gitlab-runner #安装最新版
apt-cache madison gitlab-runner
sudo apt-get install gitlab-runner=10.0.0 #安装特定版本
3. 启动gitlab-runner
sudo gitlab-runner run
有一些可以配置的命令行项可以设置:
USAGE:
gitlab-runner run [command options] [arguments...]
OPTIONS:
-c value, --config value 配置文件路径,.toml结尾
--listen-address value 端口
-n value, --service value 服务名称,默认是gitlab-runner
-d value, --working-directory value 工作目录,也就是从gitlab clone项目的目录,默认是当前目录
-u value, --user value 执行shell脚本所用的用户
--syslog 日志
假设我们有自己的配置文件,已经专门的gitlab-runner账号,则启动指令可以改为:
sudo gitlab-runner run -c config.toml -u runner&
经过以上步骤后,我们的gitlab-runner就已经起来了,下一步就是将gitlab-runner注册到对应的项目。
4. 注册gitlab-runner
执行sudo gitlab-runner register -c xx/config.toml
执行后会出现如下提示,要求输入gitlab的URL:
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
进入gitlab项目的Setting->CI/CID Settings界面,将Specific Runners中Set up a specific Runner manually的链接填入:
填入后进入下一步,会要求填入gitlab-ci的token,
Please enter the gitlab-ci token for this runner:
填入Set up a specific Runner manually 中第三步的token。
token填入后,填入runner的描述,其实就是个说明,这一步比较随意。
Please enter the gitlab-ci description for this runner:
下一步设置runner的tags, 所谓tag就是这个runner的标签,标记它能够做哪些任务(gitlab runner是按pipeline形式运行,通过这个标记,就可以分配对应的任务到不同的runner上), 比如build, test等等
Please enter the gitlab-ci tags for this runner (comma separated):
多个tag用逗号隔开
下一步选择执行方式
Please enter the executor: docker-ssh+machine, kubernetes, docker, docker-ssh, shell, docker+machine, custom, parallels, ssh, virtualbox:
选择shell
配置完成后,gitlab项目的Setting->CI/CID Settings界面就能看到相应的runner了,如下图:
我们还可以点击runner的编辑按钮进行一些设置:
如果runner没有锁定到一个项目,那么它就可以直接在其他项目上使用,而不需要上面的这些设置步骤:
至此,gitlab runner的安装和配置完成,下一篇将讲述如何配置进行一些CI检查。