- 注册 runner
- 注册共享类型(交互式注册)步骤
- 非交互式命令说明 (shell 类型)
- 参数说明
- docker run —rm -itd -v /需要挂载的目录:/etc/gitlab-runner gitlab/gitlab-runner register \
- —non-interactive \ #使用非交互式方式注册
- —executor “shell” \ # 任务执行环境
- http://gitlab.xxx.com“ \ # GitLab服务器地址">—url “http://gitlab.xxx.com“ \ # GitLab服务器地址
- —registration-token “UgutYmJrqKZKrTyttaP1” \ # GitLab注册Token,可在GitLab管理界面获得
- —description “xxx.ci” \ # GitLab Runner的一些描述
- —tag-list “nodejs,java “ \ # 给GitLab Runner打上标签,配置文件可根据标签指定某个Runner来执行任务
- —run-untagged=”true” \ # 是否可以运行未指定标签的任务
- —locked=”false” \ # 是否锁定到某个项目
- —access-level=”not_protected” # 访问级别
挂载运行
$ docker volume create gitlab-runner-data # 数据持久化
$ docker run -d --name gitlab-runner --restart always \
-v gitlab-runner-data:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
说明:第一个是挂载出配置文件,第二个是为了让 runner 里面可以执行宿主机的 docker
查看版本
$ gitlab-runner --version
注册 runner
一种形式 ,两种步骤
获取 runner token > 进行注册
token 有多种类型:
- shared 共享 -Runner运行所有未分配项目中的作业
- group 组 -Runner运行其组中所有未分配项目的作业
- specific 具体 -Runner运行分配的项目中的作业
- locked 已锁定 -无法将跑步者分配给其他项目
- paused 已暂停 -跑步者将不会获得任何新工作
这里是 shared 共享类型
注册共享类型(交互式注册)步骤
- gitlab-runner register
- 输入 ip
- 输入token
- 输入描述(这个随便写,可以到 gitlab 里更改)
- 输入标签 (重要,这里不能乱写,这里的标签就是 .gitlab-ci.yml 里的 tag)
- 输入执行器(分为:shell、docker、Kubernetes,最丰富的是 docker、Kubernetes ),这里注册shell 类型,建议使用 docker
非交互式命令说明 (shell 类型)
```shell $ gitlab-runner register \ —non-interactive \ —executor “shell” \ —url “http://你的gitlab IP/“ \ —registration-token “sxHy773pqEJ3ya8c467S” \ —description “这是描述” \ —tag-list “test” \ —run-untagged=”true” \ —locked=”false” \ —access-level=”not_protected”
参数说明
docker run —rm -itd -v /需要挂载的目录:/etc/gitlab-runner gitlab/gitlab-runner register \
—non-interactive \ #使用非交互式方式注册
—executor “shell” \ # 任务执行环境
—url “http://gitlab.xxx.com“ \ # GitLab服务器地址
—registration-token “UgutYmJrqKZKrTyttaP1” \ # GitLab注册Token,可在GitLab管理界面获得
—description “xxx.ci” \ # GitLab Runner的一些描述
—tag-list “nodejs,java “ \ # 给GitLab Runner打上标签,配置文件可根据标签指定某个Runner来执行任务
—run-untagged=”true” \ # 是否可以运行未指定标签的任务
—locked=”false” \ # 是否锁定到某个项目
—access-level=”not_protected” # 访问级别
```