Gitlab Runner基础

Gitlab Runner类型

类型

  • shard 共享类型,运行整个平台项目的作业(gitlab)
  • group 项目组类型, 运行特定group下的所有项目的作业(group)
  • specific 项目类型,运行指定的项目作业(project)

状态

  • locked: 锁定状态,无法运行项目作业
  • paused: 暂停状态,暂时不会接受新的作业

GItlab Runner命令

启动命令

1
2
3
4
gitlab-runner --debug <command>   #调试模式排查错误特别有用。
gitlab-runner <command> --help    #获取帮助信息
gitlab-runner run       #普通用户模式  配置文件位置 ~/.gitlab-runner/config.toml
sudo gitlab-runner run  # 超级用户模式  配置文件位置/etc/gitlab-runner/config.toml

注册命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
gitlab-runner register  #默认交互模式下使用,非交互模式添加 --non-interactive
gitlab-runner list      #此命令列出了保存在配置文件中的所有运行程序
gitlab-runner verify    #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。 --delete 删除
gitlab-runner unregister   #该命令使用GitLab取消已注册的runner。
#使用令牌注销
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
#使用名称注销(同名删除第一个)
gitlab-runner unregister --name test-runner
#注销所有
gitlab-runner unregister --all-runners

服务命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
# --user指定将用于执行构建的用户
#`--working-directory  指定将使用**Shell** executor 运行构建时所有数据将存储在其中的根目录
gitlab-runner uninstall #该命令停止运行并从服务中卸载GitLab Runner。
gitlab-runner start     #该命令启动GitLab Runner服务。
gitlab-runner stop      #该命令停止GitLab Runner服务。
gitlab-runner restart   #该命令将停止,然后启动GitLab Runner服务。
gitlab-runner status #此命令显示GitLab Runner服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零。

流水线参数

Keyword Description
script 运行的Shell命令或脚本。✅
image 使用docker映像.
services 使用docker服务映像.
before_script 在作业运行前运行脚本。 ✅
after_script 在作业运行后运行脚本。✅
stages 定义管道中的阶段,运行顺序。 ✅
stage 为工作定义一个阶段,可选,未指定默认为test阶段。 ✅
only 限制创建作业的时间. ✅
except 限制未创建作业的时间. ✅
rules 条件列表,用于评估和确定作业的选定属性,以及是否创建该作业. ✅
allow_failure 允许作业失败. 失败的工作不会影响提交状态.✅
when 什么时候开始工作.✅
environment 作业部署到的环境的名称.
cache 在后续运行之间应缓存的文件列表. ✅
artifacts 成功时附加到作业的文件和目录列表.
dependencies 通过提供要从中获取工件的作业列表,限制将哪些工件传递给特定作业.
coverage 给定作业的代码覆盖率设置.
retry 发生故障时可以自动重试作业的时间和次数。 ✅
timeout 定义自定义作业级别的超时,该超时优先于项目范围的设置。 ✅
parallel 多少个作业实例应并行运行.✅
trigger 定义下游管道触发器.
include 允许此作业包括外部YAML文件.
extends 该作业将要继承的配置条目.
pages 上载作业结果以用于GitLab页面.
variables 在作业级别上定义作业变量. ✅
interruptible 定义在通过新的运行使其冗余时是否可以取消作业.
resource_group 限制作业并发.
Buy me a coffee
支付宝
微信
0%