script | 由Runner執行的Shell腳本。 |
image | 使用docker鏡像, image:name |
service | 使用docker services鏡像, services:name |
before_script | 執行做業前運行的腳本 |
after_script | 做業完成後運行的腳本 |
stages | 定義管道中的步驟,依次運行 |
stage | 定義管道中步驟的做業段 |
only | 指定做業限制only:refs ,only:kubernetes ,only:variables ,和only:changes |
tags | 指定執行做業的runner |
allow_failure | 讓job失敗 |
when | 何時開始工做,
|
environment | 做業部署到的環境名稱 #暫未搞清 |
cache | key: |
artifacts | job成功時附加到做業的文件或目錄git |
dependencies | 此job依賴其餘jobz,主要做用於做業優先級 |
converage | 給定做業代碼覆蓋率設置 |
retry | 在發生故障時,能夠自動重試做業的次數。 |
parallel | 應該並行運行多少個做業實例 |
trigger | 定義下游管道觸發器 |
include | 容許此做業包含外部YAML |
extends | 此做業將繼承的配置項 |
pages | 上傳做業結果用於gitlab pages |
variables | 做業級別定義做業變量 |
runner的執行方式爲shell的簡單示例。docker
1 cache: 2 key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #爲每分支提供緩存 3 paths: 4 - node_modules #緩存哪些文件/文件夾 5 - bower_components 6 before_script: 7 -echo "執行前運行腳本" 8 after_script: 9 -echo "執行後運行腳本" 10 stages: #設置步驟有哪些,經常使用三大塊,建立,測試,發佈 11 -build 12 -test 13 -deploy 14 Job1: #設置某一步的運行工做,每一個步驟可有多個job同步進行,也可設置dependencies限制 15 stage:build #此job屬於哪一個步驟 16 script: 17 -echo "go go go" 18 only: 19 -master #哪一個分支觸發 20 tags: 21 -share #指定runner,註冊runner時填寫的tag 22 test: 23 stage:test 24 script: 25 -echo "測試開始" 26 only: 27 -master 28 tags: 29 -share 30 deploy: 31 stage:deploy 32 when: 33 - manual #上面有解釋 34 script: 35 -echo "部署開始" 36 only: 37 -master 38 tags: 39 -share