Gitlab Runner Install

2021-04-04 约 766 字 预计阅读 2 分钟

Gitlab Runner 是Gitlab任务执行环境,用过jenkins的应该不会陌生,jenkins有master和slave,gitlab的runner就相当于jenkins的slave, gitlab-runner在CI/CD中是非常重要的部分,构建,测试,部署等等任务都需要执行环境

1. 在docker里的安装

1.1. 运行gitlab-runner

和上一篇一样,我的环境是swarm集群的docker,由portainer管理,直接新建一个stack,添加如下配置即可

1
2
3
4
5
6
7
version: "3.6"
services:
   gitlab-runner:
     image: gitlab/gitlab-runner:alpine
     deploy:
       mode: replicated
       replicas: 1

启动之后,日志里可以看到如下的错误信息

1
ERROR: Failed to load config stat /etc/gitlab-runner/config.toml: no such file or directory  builds=0

没关系,容器已经启动,还剩下一步没有操作-注册,也就是向gitlab注册自己,实现双向通信.

1.2. 复制gitlab的注册信息 地址和token

在执行这一步之前,先到gitlab的配置/admin/runners查看token信息,打开页面后可以看到如下信息:

1
2
3
4
5
6
7
Set up a shared runner manually
Install GitLab Runner and ensure it's running.
Register the runner with this URL:
https://gitlab.example.com/ 

And this registration token:
412ye9b1fhge129gf70812gv4e8f12f7R 

这两个信息在后来的操作里都要用到

1.3. 注册

执行

1
docker exec -it [runner的id] /bin/bash

或者在portainer里打开console,然后执行

1
gitlab-runner register

接下来就会让你填写一系列的

  • 地址
  • token
  • 描述
  • 标签
  • 执行环境(docker, docker-ssh, parallels, ssh, virtualbox, custom, docker+machine, docker-ssh+machine, kubernetes, shell)
  • docker版本(如果执行环境是docker)

以下是演示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
your server ip

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

# 描述
Please enter the gitlab-ci description for this runner:
demo runner

# 标签
Please enter the gitlab-ci tags for this runner (comma separated):
tag1, tag2

# 执行环境
Please enter the executor: docker, docker-ssh, parallels, ssh, virtualbox, custom, docker+machine, docker-ssh+machine, kubernetes, shell:
docker

# docker版本
Please enter the default Docker image (e.g. ruby:2.6):
alpine:latest
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

2. 参考

TAG: git scm gitlab
文章作者 : Cocding