共用方式為


Azure Pipelines 的 YAML 架構參考

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

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

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

定義

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

擴充
使用範本擴充管線。

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

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
需求(私人游泳池)。

pr
提取要求觸發程式。

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

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

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

resources.containers
容器映像清單。

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

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

resources.packages
套件資源清單。

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

resources.pipelines
管線資源清單。

resources.pipelines.pipeline.trigger
指定無停用、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
階段是相關作業的集合。

階段.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 PowerShell 或 pwsh (Linux 和 macOS) 來執行腳本。

steps.publish
發佈或上傳檔案或資料夾做為管線成品,其他作業和管線可以取用。

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

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

steps.script
在其他平臺上使用 cmd.exe 執行腳本。

steps.task
執行工作。

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

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

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

觸發程式
持續整合 (push) 觸發程式。

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

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