默認的構建階段有三個階段:- 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