天天看點

【Azure DevOps系列】Azure DevOps多階段建構

對于階段的流水線其實是特别有用的,我們可以将建構、測試、或者說部署分為多個階段進行處理。将您的應用程式部署到多個環境中,并從一個環境逐漸過渡到另一個環境。例如,可以在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,如何在不影響原代碼的情況下去完成高效持續內建與部署的工作