include
官方模板庫:https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates
可以允許引入外部YAML文件,文件具有擴展名.yml
或.yaml
。使用合並功能可以自定義和覆蓋包含本地定義的CI / CD配置。相同的job會合並,參數值以源文件為准。
local
引入同一存儲庫中的文件,使用相對於根目錄的完整路徑進行引用,與配置文件在同一分支上使用。
ci/localci.yml: 定義一個作業用於發布。
stages:
- deploy
deployjob:
stage: deploy
script:
- echo 'deploy'
.gitlab-ci.yml
引入本地的CI文件'ci/localci.yml'
include:
local: 'ci/localci.yml'
stages:
- build
- test
- deploy
buildjob:
stage: build
script: ls
testjob:
stage: test
script: ls
效果
file
包含來自另一個項目的文件
include:
- project: demo/demo-java-service
ref: master
file: '.gitlab-ci.yml'
實際使用效果演示:
在同一個用戶目錄下的不同倉庫,項目是一個私有倉庫,yml文件所在是一個公開倉庫
注意引用的yml文件的路徑寫法 前面的是用戶名,后面的是倉庫名
template
只能使用官方提供的模板 https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates
include:
- template: Auto-DevOps.gitlab-ci.yml
remote
用於通過HTTP / HTTPS包含來自其他位置的文件,並使用完整URL進行引用. 遠程文件必須可以通過簡單的GET請求公開訪問,因為不支持遠程URL中的身份驗證架構。
include:
- remote: 'https://gitlab.com/awesome-project/raw/master/.gitlab-ci-template.yml'