Azure Pipelines 的 YAML 架構參考

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

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

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

定義

管道
管線是描述 CI/CD 程式的一或多個階段。 管線定義包含根層級屬性的檔,例如 name

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

延伸
使用範本擴充管線。

工作
指定組成階段工作的作業。

工作
指定組成管線工作的作業。

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

jobs.deployment.environment
以環境名稱為目標,並選擇性地記錄部署歷程記錄的資源名稱;format:environment-name.resource-name。

jobs.deployment.strategy
此部署的執行策略。

jobs.deployment.strategy.canary
Canary 部署策略。

jobs.deployment.strategy.rolling
滾動部署策略。

jobs.deployment.strategy.runOnce
RunOnce 部署策略。

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

jobs.job.container
容器資源名稱。

jobs.job.strategy
此作業的執行策略。

jobs.job.uses
尚未參考此作業所需的任何資源。

jobs.template
範本中定義的一組作業。

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

parameters.parameter
管線範本參數。


要用於管線作業的集區。

pool.demands
私人集區) 的需求 (。

公關
提取要求觸發程式。

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

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

resources.builds.build
用來參考執行中成品的組建資源。

resources.containers
容器映射的清單。

resources.containers.container
用來參考容器映射的容器資源。

resources.containers.container.trigger
指定 none 來停用、true 以在所有影像標記上觸發,或使用下列範例中所述的完整語法。

resources.packages
套件資源清單。

resources.packages.package
用來參考 NuGet 或 npm GitHub 套件的套件資源。

resources.pipelines
管線資源清單。

resources.pipelines.pipeline.trigger
指定 none 來停用、true 以包含所有分支,或使用下列範例中所述的完整語法。

resources.pipelines.pipeline.trigger.branch
要包含或排除以觸發執行的分支。

resources.repositories
存放庫資源的清單。

resources.repository.repository
存放庫資源可用來參考管線中的其他存放庫。

resources.webhooks
Webhook 清單。

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

resources.webhooks.webhook.filters
觸發程式篩選清單。

resources.webhooks.webhook.filters.filter
Webhook 資源觸發程式篩選。

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

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

階段
階段是相關作業的集合。

stage.stage
階段是相關作業的集合。

stages.template
您可以在一個檔案中定義一組階段,並在其他檔案中多次使用它。

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

steps.bash
在 Windows、macOS 和 Linux 上的 Bash 中執行腳本。

steps.checkout
設定管線簽出原始程式碼的方式。

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

steps.downloadBuild
下載組建成品。

steps.getPackage
從 Azure Artifacts 中的套件管理摘要或Azure DevOps Server下載套件。

steps.powershell
在 Windows) 上使用 Windows PowerShell (或 pwsh (Linux 和 macOS) 來執行腳本。

steps.publish
發佈 (將檔案或資料夾上傳) 為其他作業和管線可以使用的管線成品。

steps.pwsh
在 Windows、macOS 和 Linux 上的 PowerShell Core 中執行腳本。

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

steps.script
在其他平臺上,使用 Windows 和 Bash 上的 cmd.exe 來執行腳本。

steps.task
執行工作。

steps.template
在一個檔案中定義一組步驟,並在另一個檔案中多次使用它。

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

target.settableVariables
可設定之變數的限制。

觸發
持續整合 (推送) 觸發程式。

變數
使用名稱/值組定義變數。

variables.group
參考變數群組的變數。

variables.name
使用名稱和完整語法來定義變數。

variables.template
在範本中定義變數。

支援定義

注意

支援定義不適合直接在管線中使用。 支援定義只會作為其他定義的一部分使用,並隨附于此處以供參考。

deployHook
用來執行部署應用程式的步驟。

includeExcludeFilters
要包含或排除的專案清單。

includeExcludeStringFilters
要包含或排除的專案。

mountReadOnly
要掛接唯讀的磁片區,預設值為 false。

onFailureHook
用來執行復原動作或清除的步驟。

onSuccessHook
用來執行復原動作或清除的步驟。

onSuccessOrFailureHook
用來執行復原動作或清除的步驟。

postRouteTrafficHook
用來在路由傳送流量之後執行步驟。 一般而言,這些工作會監視已更新版本的健全狀況,以取得定義的間隔。

preDeployHook
用來執行在應用程式部署開始之前初始化資源的步驟。

routeTrafficHook
用來執行提供流量至更新版本的步驟。

工作
代理程式的工作區選項。

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 對應中的第一個索引鍵。