轉自: https://www.cnblogs.com/szk5043/articles/9854712.html
以備個人檢視,浏覽請看原文!
1、gitlab-ci.yml參數清單
值 | 是否必須 | 描述 |
script | 必須 | 定義由Runner執行的shell腳本或指令 |
extends | 非必須 | 定義此作業将繼承的配置條目 |
image | 非必須 | 需要使用的docker鏡像,請查閱該文檔 |
services | 非必須 | 定義所需的docker服務,請查閱該文檔 |
stage | 非必須 | 定義一個工作場景階段,預設是test |
type | 非必須 | stage的别名,不贊成使用 |
variables | 非必須 | 在job級别上定義的變量 |
only | 非必須 | 定義job所引用的git分支 |
except | 非必須 | 定義job所不适用的git分支 |
tags | 非必須 | 定義job所适用的runner,tags為runner标簽 |
allow_failure | 非必須 | 允許任務失敗,但是如果失敗,将不會改變送出狀态 |
when | 非必須 | 定義了job什麼時候執行,可以是on_success、on_failure、always和manual |
dependencies | 非必須 | 定義了該job依賴哪一個job,如果設定該項,可以通過artifacts設定 |
artifacts | 非必須 | 工件,在依賴項之間傳遞的東西,類似cache,但原理與cache不同 |
cache | 非必須 | 定義需要被緩存的檔案、檔案夾清單 |
before_script | 非必須 | 覆寫在作業之前執行的腳本或指令 |
after_script | 非必須 | 覆寫在作業之後執行的腳本或指令 |
environment | 非必須 | 定義讓job完成部署的環境名稱 |
coverage | 非必須 | 定義job設定代碼覆寫率 |
retry | 非必須 | 定義job失敗後的自動重試次數 |
備注:
artifacts
dependencies
和
cache
這兩種方法可以實作job之間資料的同步
job:
tags:
- test-tag ##注意這個是選擇指定的runner
services:
- php:7
- node:latest
- golang:1.10
image: alpine:3.7
script:
- echo '========== hello gitlab-runner'
2、gitlab-ci配置示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
3、生産環境配置示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
4、測試
hotfix/hotfix-conference分支僅能釋出dev和test環境

#master分支僅能釋出staging和prod環境