.gitlab-ci.yml簡介

關鍵字 

script 由Runner執行的Shell腳本。
image 使用docker鏡像,  image:name
service 使用docker  services鏡像, services:name
before_script 執行做業前運行的腳本
after_script 做業完成後運行的腳本
stages 定義管道中的步驟,依次運行
stage 定義管道中步驟的做業段
only 指定做業限制only:refsonly:kubernetesonly:variables,和only:changes
 tags  指定執行做業的runner
 allow_failure  讓job失敗
 when  何時開始工做,
  1. on_success- 只有當前一個階段的全部工做都成功時(或者由於它們被標記而被認爲是成功的allow_failure才執行工做 這是默認值。
  2. on_failure - 僅當前一階段的至少一個做業失敗時才執行做業。
  3. always - 不管先前階段的工做狀態如何,均可以執行工做。
  4. manual - 手動執行做業
  5. delayed延遲做業。後面跟start_in,start_in 30minutes(延遲30分鐘),不加單位,默認爲秒。最長可延遲1小時。
 environment  做業部署到的環境名稱   #暫未搞清
 cache

  key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #爲每分支,每步驟啓用緩存node

 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
相關文章
相關標籤/搜索