對于階段的流水線其實是特别有用的,我們可以将建構、測試、或者說部署分為多個階段進行處理。将您的應用程式部署到多個環境中,并從一個環境逐漸過渡到另一個環境。例如,可以在CI中運作單元測試後自動部署到Dev環境,然後部署到運作內建測試的Test環境,然後手動部署到Production。
管道任務
這是一個最基礎的管道任務,它在Microsoft托管代理上運作,同時他它采用ubuntu-16.04虛拟機鏡像,執行後将會輸出Hello world
pool:
vmImage: 'ubuntu-16.04'
steps:
- bash: echo "Hello world"
當然我們可以對此進行修改成如下方式:
jobs:
- job: myJob
timeoutInMinutes: 10
pool:
vmImage: 'ubuntu-16.04'
steps:
- bash: echo "Hello world"
當我們有多個工作的情況下,我們可以建立多個job來完成該建構過程,如下圖所示:
jobs:
- job: A
steps:
- bash: echo "A"
- job: B
steps:
- bash: echo "B"
當然上面隻是劃分job那麼我們看一下如何采用多個階段呢?來看下面代碼片段,如下所示:
stages:
- stage: A
jobs:
- job: A1
- job: A2
- stage: B
jobs:
- job: B1
- job: B2
下圖是Azure DevOps在EasyAbp中采用多階段建構的執行過程圖,在後續的章節中我将詳細的去介紹作為一個開源項目easyabp,如何在不影響原代碼的情況下去完成高效持續內建與部署的工作