gitlab-ci.yml可用关键字描述
默认的构建阶段有三个阶段:- build(构建) - test(测试) - deploy(部署);-review(审查) 阶段的执行顺序按照上面的排序执行。所有未指定的阶段默认为 `test` 阶段
| 关键字 | 描述 |
| script | 由 Runner 执行的 Shell 脚本 |
| image | 使用的 docker 映像。也可用: `image:name` 和 `image:entrypoint` |
| services | 使用的 docker 服务映像。也可用:`services:name`,`services:alias`,`services:entrypoint`,和`services:command` |
| before_script | 重写作业之前执行的一组命令。 |
| after_script | 重写作业后执行的一组命令。 |
| stages | 定义管道中的阶段。 |
| stage | 定义作业阶段(默认:test)。 |
| only | 限制 job 的创建。也可用:`only:refs`, `only:kubernetes`, `only:variables`, and `only:changes`。 |
| except | 限制什么时候不创建 job。也可用:`except:refs`, `except:kubernetes`, `except:variables`, `except:changes`。 |
| rules | 用于评估和确定作业的选定属性以及是否创建该作业的条件列表。`不可与only/except`一起使用。 |
| tags | 用于选择 Runner 的 tags 列表。 |
| allow_failure | 允许作业失败。失败的工作不会影响提交状态。 |
| when | 什么时候开始工作。也可用:`when:manual`和`when:delayed`。 |
| environment | 作业部署到环境的名称。 也可用:`environment:name`,`environment:url`,`environment:on_stop`,`environment:auto_stop_in`和`environment:action`。 |
| cache | 在后续运行之间应缓存的文件列表。也可用:`cache:paths`,`cache:key`,`cache:untracked`,和`cache:policy`。 |
| artifacts | 成功时附加到作业的文件和目录列表。也可用:`artifacts:paths`,`artifacts:expose_as`,`artifacts:name`,`artifacts:untracked`,`artifacts:when`,`artifacts:expire_in`,`artifacts:reports`,`artifacts:reports:junit`,和`artifacts:reports:cobertura`。在GitLab 企业版,这些都是可供选择:artifacts:reports:codequality,artifacts:reports:sast,artifacts:reports:dependency_scanning,artifacts:reports:container_scanning,artifacts:reports:dast,artifacts:reports:license_management,artifacts:reports:performance和artifacts:reports:metrics。 |
| dependencies | 通过提供要从中获取工件的作业列表,限制将哪些工件传递给特定作业。 |
| coverage | 给定作业的代码覆盖率设置。 |
| retry | 发生故障时可以自动重试作业的时间和次数。 |
| timeout | 定义自定义作业级别的超时,该超时优先于项目范围的设置。 |
| parallel | 多少个作业实例应并行运行。 |
| trigger | 定义下游管道触发器。 |
| include | 允许此作业包括外部YAML文件。也可用:`include:local`,`include:file`,`include:template`,和`include:remote`。 |
| extends | 该作业将要继承的配置条目。 |
| pages | 上载作业结果以用于GitLab页面。 |
| variables | 在作业级别上定义作业变量。 |
| interruptible | 定义在通过新的运行使其冗余时是否可以取消作业。 |
| resource_group | 限制作业并发。 |
参数详情:https://docs.gitlab.com/ee/ci/yaml/README.html#parameter-details