Gitlab Runner类型
类型
- shard 共享类型,运行整个平台项目的作业(gitlab)
- group 项目组类型, 运行特定group下的所有项目的作业(group)
- specific 项目类型,运行指定的项目作业(project)
状态
- locked: 锁定状态,无法运行项目作业
- paused: 暂停状态,暂时不会接受新的作业
GItlab Runner命令
启动命令
gitlab-runner --debug <command> #调试模式排查错误特别有用。
gitlab-runner <command> --help #获取帮助信息
gitlab-runner run #普通用户模式 配置文件位置 ~/.gitlab-runner/config.toml
sudo gitlab-runner run # 超级用户模式 配置文件位置/etc/gitlab-runner/config.toml
注册命令
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
服务命令
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 | 限制作业并发. |