0. 前言
- 本文参考gitlab官方文档
- GitLab.com(13.12-pre)
1. 关键字总结
1.1 Job 关键字
关键字 | 简单描述 |
---|---|
after_script | 定义每个job后运行的命令,即使job失败了,也会执行(job超时和已取消时,无法执行)。 |
before_script | 定义应在每次job之前运行的命令组 。 |
script | 运行程序执行的Shell脚本。 |
allow_failure | 允许job失败,失败的job不会导致pipeline(管道)失败 (allow_failure: true//默认为false)。 |
artifacts | 当job成功/失败/任何状态,指定附加到job的文件和目录的列表。 |
cache | 使用缓存指定要在job之间缓存的文件和目录列表。只能使用本地工作副本中的路径。 |
coverage | 配置如何从job输出中提取代码覆盖率(使用正则表达式去匹配job的输出)。 |
dependencies | 默认情况下,前几个阶段的所有aritifacts都传递给每个job。但是,您可以使用dependencies关键字来定义一个有限的job列表,以便从中获取工件。您还可以将job设置为完全不下载工件。 |
environment | job部署到的环境的名称。 |
except | 定义job不为哪些分支和标记运行。 |
only | 定义job仅为哪些分支和标记运行。 |
extends | 重复使用某个配置。 |
image | 让job使用指定的docker镜像(image)。 |
inlcude | 包括外部的yaml文件 |
inherit | 选择所有作业继承的全局默认值。 |
interruptible | 定义在一个newer的run使job成为冗余时是否可以取消这个job。 |
needs | 在stage命令之前执行jobs。 |
pages | 上传作业的结果,以便与GitLab Pages一起使用。 |
parallel | 设置多少个job实例并行运行,范围:2-50。 |
release | 仅当作业处理无错误时,才创建发行版。 |
resource_group | 确保运行程序不会同时运行某些job。(有时,在环境中同时运行多个作业或管道可能会导致部署过程中出现错误。) |
retry | 发生故障时可以自动重试job的时间和次数。 |
rules | 评估和确定作业的选定属性以及是否创建作业的条件列表。 |
secrets | 解释 |
services | 使用services来指定服务Docker镜像,链接到镜像中指定的基本镜像。 |
stage | 定义job的stage(build、test、deploy) 。 |
tags | 选择哪个runner的tags。 |
timeout | 为某个job配置超时时间(timeout: 3 hours 30 minutes)。 |
trigger | 定义一个下游管道的触发器(详细介绍) |
variables | 定义工作级别的工作变量。阿巴阿巴 |
when | When to run job。 |
1.2 Jobs中不可使用的名字
- image
- service
- stages
- types
- before_script
- after_script
- variables
- cache
- include
未完待续!!