Azure Pipelines 的 YAML 架構參考

Azure Pipelines 的 YAML 架構參考是 YAML 管線的詳細參考,列出所有支援的 YAML 語法及其可用選項。

若要建立 YAML 管線,請從 管線 定義開始。 如需建置 YAML 管線的詳細資訊,請參閱 自訂管線

YAML 架構參考未涵蓋工作。 如需工作的詳細資訊,請參閱 Azure Pipelines 工作索引

YAML 架構定義索引

管線是描述 CI/CD 程式的一或多個作業。


作業清單會指定組成階段工作的作業。


作業代理程式或在伺服器上執行的步驟集合。


matrixparallel 關鍵字會指定互斥策略來複製作業。


pool關鍵字會指定要用於管線作業的區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


步驟是構成作業的線性作業序列。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟 download 會下載與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


步驟 downloadBuild 會下載組建成品。


步驟 powershell 會使用 Windows) 或 pwsh linux 和 macOS) (上的 Windows PowerShell (Windows PowerShell (來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,作為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


此步驟 script 會在 Windows 上執行腳本,並在其他平臺上使用 Bash cmd.exe。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


推送觸發程式會指定哪些分支會導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


管線是描述 CI/CD 程式的一或多個作業。


作業清單會指定組成階段工作的作業。


作業代理程式或在伺服器上執行的步驟集合。


容器作業可讓您在容器上執行作業,而不是代理程式主機。


matrixparallel 關鍵字會指定互斥策略來複製作業。


pool關鍵字會指定要用於管線作業的區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


步驟是組成作業的線性作業順序。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟會 download 從與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


此步驟 downloadBuild 會下載組建成品。


此步驟 powershell 會在 Windows) 上使用 Windows PowerShell (或 pwsh (Linux 和 macOS) 來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,做為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


此步驟 script 會使用 Windows 上的 cmd.exe 和其他平臺上的 Bash 來執行腳本。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


推送觸發程式會指定哪些分支導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


管線是一或多個描述 CI/CD 程序的階段。


使用範本擴充管線。


作業清單會指定組成階段工作的作業。


部署作業是特殊類型的作業。 這是針對環境循序執行的步驟集合。


environment關鍵字會指定管線部署作業的目標環境或其資源。


部署策略可讓您設定更新的傳遞方式。


Canary 部署策略會將變更推出至一小部分的伺服器。


輪流部署會將繼承應用程式的實例取代為一組固定虛擬機器上新版應用程式的實例, (每次反復專案中) 滾動集。


runOnce 部署策略會執行其每個步驟一次來推出變更。


作業是由代理程式或在伺服器上執行的步驟集合。


容器作業可讓您在容器上執行作業,而不是代理程式主機。


matrixparallel 關鍵字會指定重複作業的互斥策略。


您可以在一個檔案中定義一組作業,並將其多次用於其他檔案。 如需使用工作範本的詳細資訊,請參閱 範本


參數清單會指定傳遞至管線的執行時間參數。


參數代表傳遞至管線的值。


關鍵字 pool 會指定要用於管線作業的 區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的套件資源清單。


您可以使用 NuGet 和 npm GitHub 套件作為 YAML 管線中的資源。 指定封裝資源時,請將封裝設定為 NuGetnpm


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


排程清單會指定管線的排程觸發程式。


排程觸發程式會指定建立分支的排程。


階段是相關作業的集合。


階段是相關作業的集合。 根據預設,階段會循序執行。 除非透過 屬性指定 dependsOn ,否則每個階段只會在上述階段完成之後開始。


您可以在一個檔案中定義一組階段,並將其多次用於其他檔案。


步驟是構成作業的線性作業序列。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟 download 會下載與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


步驟 downloadBuild 會下載組建成品。


此步驟 getPackage 會從 Azure Artifacts 中的套件管理摘要或Azure DevOps Server下載套件。


步驟 powershell 會使用 Windows) 或 pwsh linux 和 macOS) (上的 Windows PowerShell (Windows PowerShell (來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,作為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


步驟 reviewApp 下載會在部署階段提供者下動態建立資源。


此步驟 script 會在 Windows 上執行腳本,並在其他平臺上使用 Bash cmd.exe。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


工作會在執行內容中執行,也就是代理程式主機或容器。


推送觸發程式會指定哪些分支會導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


管線是一或多個描述 CI/CD 程序的階段。


使用範本擴充管線。


作業清單會指定組成階段工作的作業。


部署作業是特殊的作業類型。 這是針對環境循序執行的步驟集合。


environment關鍵字會指定管線部署作業的目標環境或其資源。


部署策略可讓您設定更新的傳遞方式。


Canary 部署策略會將變更推出至一小部分的伺服器。


輪流部署會將繼承應用程式的實例取代為固定虛擬機器集上新版應用程式的實例, (每次反復專案) 滾動集。


runOnce 部署策略會執行每個步驟一次來推出變更。


作業代理程式或在伺服器上執行的步驟集合。


容器作業可讓您在容器上執行作業,而不是代理程式主機。


matrixparallel 關鍵字會指定互斥策略來複製作業。


您可以在一個檔案中定義一組作業,並將其多次用於其他檔案。 如需使用工作範本的詳細資訊,請參閱 範本


參數清單會指定傳遞至管線的執行時間參數。


參數代表傳遞至管線的值。


pool關鍵字會指定要用於管線作業的區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的套件資源清單。


您可以使用 NuGet 和 npm GitHub 套件作為 YAML 管線中的資源。 指定封裝資源時,請將封裝設定為 NuGetnpm


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


管線所參考的 Webhook 資源清單。


Webhook 資源可讓您將管線與外部服務整合,以自動化工作流程。


用來自訂 Webhook 事件的觸發程式的篩選準則。


Webhook 篩選器可用來自訂 Webhook 事件的觸發程式。


排程清單會指定管線的排程觸發程式。


排程觸發程式會指定建立分支的排程。


階段是相關作業的集合。


階段是相關作業的集合。 根據預設,階段會循序執行。 除非另有透過 dependsOn 屬性指定,否則每個階段只會在前一個階段完成之後開始。


您可以在一個檔案中定義一組階段,並將其多次用於其他檔案。


步驟是組成作業的線性作業順序。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟會 download 從與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


此步驟 downloadBuild 會下載組建成品。


此步驟 getPackage 會從 Azure Artifacts 或 Azure DevOps Server中的套件管理摘要下載套件。


此步驟 powershell 會在 Windows) 上使用 Windows PowerShell (或 pwsh (Linux 和 macOS) 來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,做為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


步驟 reviewApp 下載會在部署階段提供者下動態建立資源。


此步驟 script 會使用 Windows 上的 cmd.exe 和其他平臺上的 Bash 來執行腳本。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


工作會在執行內容中執行,也就是代理程式主機或容器。


推送觸發程式會指定哪些分支導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


管線是一或多個描述 CI/CD 程序的階段。


使用範本擴充管線。


作業清單會指定組成階段工作的作業。


部署作業是特殊類型的作業。 這是針對環境循序執行的步驟集合。


environment關鍵字會指定管線部署作業的目標環境或其資源。


部署策略可讓您設定更新的傳遞方式。


Canary 部署策略會將變更推出至一小部分的伺服器。


輪流部署會將繼承應用程式的實例取代為一組固定虛擬機器上新版應用程式的實例, (每次反復專案中) 滾動集。


runOnce 部署策略會執行其每個步驟一次來推出變更。


作業是由代理程式或在伺服器上執行的步驟集合。


容器作業可讓您在容器上執行作業,而不是代理程式主機。


matrixparallel 關鍵字會指定重複作業的互斥策略。


您可以在一個檔案中定義一組作業,並將其多次用於其他檔案。 如需使用工作範本的詳細資訊,請參閱 範本


參數清單會指定傳遞至管線的執行時間參數。


參數代表傳遞至管線的值。


關鍵字 pool 會指定要用於管線作業的 區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的套件資源清單。


您可以使用 NuGet 和 npm GitHub 套件作為 YAML 管線中的資源。 指定封裝資源時,請將封裝設定為 NuGetnpm


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


管線所參考的 Webhook 資源清單。


Webhook 資源可讓您將管線與外部服務整合,以自動化工作流程。


用來自訂 Webhook 事件的觸發程式的篩選準則。


Webhook 篩選器可用來自訂 Webhook 事件的觸發程式。


排程清單會指定管線的排程觸發程式。


排程觸發程式會指定建立分支的排程。


階段是相關作業的集合。


階段是相關作業的集合。 根據預設,階段會循序執行。 除非另有透過 dependsOn 屬性指定,否則每個階段只會在前一個階段完成之後開始。


您可以在一個檔案中定義一組階段,並將其多次用於其他檔案。


步驟是組成作業的線性作業順序。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟會 download 從與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


此步驟 downloadBuild 會下載組建成品。


此步驟 getPackage 會從 Azure Artifacts 或 Azure DevOps Server中的套件管理摘要下載套件。


此步驟 powershell 會在 Windows) 上使用 Windows PowerShell (或 pwsh (Linux 和 macOS) 來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,做為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


步驟 reviewApp 下載會在部署階段提供者下動態建立資源。


此步驟 script 會使用 Windows 上的 cmd.exe 和其他平臺上的 Bash 來執行腳本。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


工作會在執行內容中執行,也就是代理程式主機或容器。


可由步驟設定的變數。


推送觸發程式會指定哪些分支導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


管線是一或多個描述 CI/CD 程序的階段。


使用範本擴充管線。


作業清單會指定組成階段工作的作業。


部署作業是特殊類型的作業。 這是針對環境循序執行的步驟集合。


environment關鍵字會指定管線部署作業的目標環境或其資源。


部署策略可讓您設定更新的傳遞方式。


Canary 部署策略會將變更推出至一小部分的伺服器。


輪流部署會將繼承應用程式的實例取代為一組固定虛擬機器上新版應用程式的實例, (每次反復專案中) 滾動集。


runOnce 部署策略會執行其每個步驟一次來推出變更。


作業是由代理程式或在伺服器上執行的步驟集合。


容器作業可讓您在容器上執行作業,而不是代理程式主機。


matrixparallel 關鍵字會指定重複作業的互斥策略。


您可以在一個檔案中定義一組作業,並將其多次用於其他檔案。 如需使用工作範本的詳細資訊,請參閱 範本


參數清單會指定傳遞至管線的執行時間參數。


參數代表傳遞至管線的值。


關鍵字 pool 會指定要用於管線作業的 區。 規格 pool 也會保存作業執行策略的相關資訊。


提取要求觸發程式會指定哪些分支導致提取要求組建執行。


資源會指定管線所使用的組建、存放庫、管線和其他資源。


管線所參考的組建資源清單。


如果您有會產生成品的外部 CI 建置系統,您可以使用組建資源取用成品。


管線所參考的容器資源清單。


容器資源會參考容器映射。


管線所參考的套件資源清單。


您可以使用 NuGet 和 npm GitHub 套件作為 YAML 管線中的資源。 指定封裝資源時,請將封裝設定為 NuGetnpm


管線所參考的管線資源清單。


如果您有產生成品的 Azure Pipeline,您的管線可以藉由定義管線資源來取用成品。 在 Azure DevOps Server 2020 和更新版本中,您也可以使用管線資源啟用管線完成觸發程式。


管線所參考的存放庫資源清單。


關鍵字 repository 可讓您指定外部存放庫。


管線所參考的 Webhook 資源清單。


Webhook 資源可讓您將管線與外部服務整合,以自動化工作流程。


用來自訂 Webhook 事件的觸發程式的篩選準則。


Webhook 篩選器可用來自訂 Webhook 事件的觸發程式。


排程清單會指定管線的排程觸發程式。


排程觸發程式會指定建立分支的排程。


階段是相關作業的集合。


階段是相關作業的集合。 根據預設,階段會循序執行。 除非另有透過 dependsOn 屬性指定,否則每個階段只會在前一個階段完成之後開始。


您可以在一個檔案中定義一組階段,並將其多次用於其他檔案。


步驟是組成作業的線性作業順序。


此步驟 bash 會在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。


使用 checkout 來設定管線簽出原始程式碼的方式。


此步驟會 download 從與目前執行相關聯的成品,或從另一個與管線資源相關聯的 Azure Pipeline 下載成品。


此步驟 downloadBuild 會下載組建成品。


此步驟 getPackage 會從 Azure Artifacts 或 Azure DevOps Server中的套件管理摘要下載套件。


此步驟 powershell 會在 Windows) 上使用 Windows PowerShell (或 pwsh (Linux 和 macOS) 來執行腳本。


關鍵字 publish 會將 (上傳) 檔案或資料夾,做為其他作業和管線可以使用的管線成品。


此步驟 pwsh 會在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。


步驟 reviewApp 下載會在部署階段提供者下動態建立資源。


此步驟 script 會使用 Windows 上的 cmd.exe 和其他平臺上的 Bash 來執行腳本。


步驟 task 會執行工作。


您可以在一個檔案中定義一組步驟,並將其多次用於其他檔案。


工作會在執行內容中執行,也就是代理程式主機或容器。


可由步驟設定的變數。


推送觸發程式會指定哪些分支會導致持續整合組建執行。


定義管線中使用的變數。


參考變數群組的變數。


使用完整語法定義變數。


您可以在一個檔案中定義一組變數,並將其多次用於其他檔案。


YAML 架構檔慣例

YAML 架構參考是 Azure Pipelines YAML 管線的詳細參考指南。 其中包含所有支援的 YAML 功能和可用選項的目錄。

以下是 YAML 架構參考中使用的語法慣例。

  • 左邊 : 是管線定義中使用的常值關鍵字。
  • : 的右邊是資料類型。 資料類型可以是基本類型,例如 字串 或在此參考中其他地方定義的豐富結構參考。
  • 標記法 [資料類型] 表示所提及定義類型的陣列。 例如, [ string ] 是字串陣列。
  • 標記法:{ 資料類型資料類型} 表示一個資料類型到另一個資料類型的對應。 例如, { string: string } 是字串與字串的對應。
  • 符號 | 表示關鍵字有多個資料類型可用。 例如, job | template 表示允許作業定義或範本參考。

另請參閱

此參考涵蓋 Azure Pipelines YAML 檔案的架構。 若要瞭解 YAML 的基本概念,請參閱 Y 分鐘內學習 YAML。 Azure Pipelines 不支援所有 YAML 功能。 不支援的功能包括錨點、複雜索引鍵和集合。 此外,不同于標準 YAML,Azure Pipelines 取決於查看 stagejobtask 或工作快捷方式,例如 script 對應中的第一個索引鍵。