1、tags-指定runner
用于从允许运行该项目的所有Runner?列表中选择特定的Runner,在Runner:注册期间,您可以指定Runner的标签。
2、allow_failure-允许失败
allow_failure允许作业失败,默认值为false。启用后,如果作业失败,该作业将在用户界面中显示橙色警告。
但是,管道的逻辑流程将认为作业成功/通过,并且不会被阻塞。假设所有其他作业均成功,则该作业的阶段及
其管道将显示相同的橙色警告。但是,关联的提交将被标记为"通过",而不会发出警告。
3、when-控制作业运行
on_success 前面阶段中的所有作业都成功时才执行作业,默认值。
on failure 当前面阶段出现失败时执行。
always 总是执行作业。
manual 手动执行作业。
delayed 延迟执行作业。
4、retry-重试
配置在失败的情况下重试作业的次数。
当作业失败并配置了retry,将再次处理该作业,直到达到retry关键字指定的次数。
如果retry设置为2,并且作业在第二次运行成功(第一次重试),则不会再次重试.retry值必须是一个正整
数,等于或大于0,但小于或等于2(最多两次重试,总共运行3次)。
4.1、retry-重试-精确匹配错误
默认情况下,在失败情况下重试作业。max:最大重试次数when:重试失败的错误类型
always : 在发生任何故障时重试(默认)。
unknown_failure : 当失败原因未知时。
script_failure : 脚本失败时重试。
api_failure : API失败重试。
stuck._or_timeout._failure : 作业卡住或超时时。
runner_.system_failure : 运行系统发生故障。
missing._dependency_failure : 如果依赖丢失。
runner_.unsupported : Runner不受支持。
stale_schedule : 无法执行延迟的作业。
job_execution_timeout : 脚本超出了为作业设置的最大执行时间。
archived_failure : 作业已存档且无法运行。
unmet_prerequisites : 作业未能完成先决条件任务。
scheduler_failure : 调度程序未能将作业分配给运行scheduler_failure.。
data_integrity_.failure : 检测到结构完整性问题。
4.2、实例
unittest:
stage:test
tags:
- build
only:
- master
script:
- ech "run test"
retry:
max: 2
when:
- script failure
5、timeout-超时
作业级别的超时可以超过项目级别超时,但不能超过runner特定的超时。
build:
script: build.sh
timeout: 3 hours 30 minutes
test:
script: rspec
timeout: 3h 30m
5.1、timeout-超时-runner超时
如果小于项目定义超时时间将具有优先权。此功能可用于通过设置大超时(例如一个星期)来防止Shared
Runner被项目占用。未配置时,Runner将不会覆盖项目超时。
6、parallel-并行作业
配置要并行运行的作业实例数,此值必须大于或等于2并且小于或等于50。
这将创建N个并行运行的同一作业实例.它们从job name1/N到job name N/N依次命名。
codescan:
stage: codescan
tags:
- build
only:
- master
script:
- echo "codescan"
- sleep: 5
- parallel: 5
评论区