Azure DevOps - 在Job之間傳遞變數值
 學員來信問到了,如何在 Azure DevOps Pipeline 的多個 Job  之間,傳遞變數值。這有一些知識背景。  首先,Azure DevOps 的一條 Pipeline 中可以有多個Job,每個Job可以獨立運行,或是相依運行(例如Job A完成後再運行 Job B),每一個Job裡面才是多個Tasks(或是Steps),類似底下這樣:   假設,上面兩個 Job  之間有相依性,如何在第一個 Job 完成之後,把特定的資訊,傳遞到第二個 Job 之中呢?  一般來說我們會想到 Pipeline Variable。底下這樣的輸出,可以建立出一個 Pipeline Variable,基本的設計是在 tasks 之間傳遞資訊:  -  powershell :  |      Write-Host "##vso[task.setvariable variable=myVar;]foo"   -  bash :  |      echo "##vso[task.setvariable variable=myVar;]foo"   上面這樣的指令可以定義一個名稱為 myVar 的變數,然後設定其值為 foo。  要使用其值,就可以採用 $(變數名稱) 這樣的指令:  -  powershell :  |      Write-Host "變數值: $(myVar)"   -  bash :  |      echo "變數值: $(myVar)"   問題是,上述的變數預設狀況下只能在單一的job之間使用,如果要pass到另一個job,得做些設定。首先,變數設定得多加一個 isOutput=true,表明要在下一個job中使用:   接著,要在第二個Job中,設定一個環境變數(例如下圖的B1StagePara),來承接第一個output變數myPara1:   這樣在第二個job中才可以使用。ok, 確實有點迂迴。  不過如此一般,你就可以順利的把第一個job產出的資訊,pass給第二個job了:   整段 Yaml 檔案如下:  trigger :  -  main pool :    vmImage :  ubuntu - latest stages :  -  stage ...