1. 故事背景

如果你用了Gitlab作为代码仓库,你又需要CI/CD工具,何须四处寻觅,Gitlab就自带了此工具。 虽然Jenkins很强大,但绝没有Gitlab-CI用起来那么丝滑,都是一家人又何必分分合合。

2. 提前准备

  • 本次试验是在CentOS 7.4 64位系统,root用户下进行
  • Gitlab环境

3. 安装 Gitlab-Runner

官方不建议Gitlab-RunnerGitlab在同一台机器上

选择安装方式

官网提供各种安装方式,我选择了Repositories方式,也是最简单的方式。

添加 Gitlab 官方源

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

安装最新版 Gitlab-runner

sudo yum install -y gitlab-runner

4. 注册 Gitlab-Runner

根据你的安装方式,注册的方式也会有所不同,在官网都会有说明。

在安装了gitlab-runner的机器上,输入

sudo gitlab-runner register

输入你的Gitlab地址

# Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://gitlab.your-domain.com/

输入gitlab-citoken,在 👇 的常见问题里会告诉你怎么找

# Please enter the gitlab-ci token for this runner:
your-token

输入gitlab-ci的描述,根据你的情况

# Please enter the gitlab-ci description for this runner:
[86fa96c778e3]: docker

输入gitlab-ci的标签,方便后面的 runner 的选择,多个用逗号分隔,后面也可以改

# Please enter the gitlab-ci tags for this runner (comma separated):
docker

选择Runner executor

# Please enter the executor: virtualbox, docker, docker-ssh, ssh, docker-ssh+machine, kubernetes, parallels, shell, docker+machine:
docker

如果你选择了 Docker 作为 executor,还会让你输入默认的镜像

# Please enter the default Docker image (e.g. ruby:2.1):
alpine:latest

5. 安装 Gitlab-Runner Service

为了后面方便重启 Gitlab-Runner,最好安装 TA 的 Service。

# 指定用户gitlab-runner
sudo gitlab-runner install --user=gitlab-runner

# 日后在使用gitlab-runner的过程中
# 发现ci卡住了,就尝试重启TA
sudo gitlab-runner restart

6. 常见问题

怎么知道注册成功了?

两种方式可以知道:

1.在命令行里注册完成后,会有类似相关的成功提示。

Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

2.在 gitlab-ui 的后台可以看到,要用管理员登录,如下图: 成功会展现在列表里


注册的时候,Gitlab地址token哪里找?

用管理员登录,在 gitlab-ui 的后台可以看到,如下图: 在这里找