You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中引用YAML文件所在的文件夹路径?

如何参数化Azure Pipelines中存放pipeline.yml的文件夹路径?

你可以利用Azure Pipelines的内置变量System.DefinitionPath结合表达式,自动提取当前流水线YAML文件所在的文件夹路径,无需手动硬编码。

修改后的通用流水线配置

variables:
  # 从流水线定义路径中自动提取所在文件夹
  pipelineFolder: ${{ replace(System.DefinitionPath, '/azure-pipelines.yml', '') }}

trigger:
  batch: true
  branches:
    include:
      - dev
      - main
  paths:
    include:
      - '${{ variables.pipelineFolder }}'
pr:
  autoCancel: false
  branches:
    include:
      - dev
      - main
  paths:
    include:
      - '${{ variables.pipelineFolder }}'

resources:
  repositories:
    - repository: templates
      type: git
      name: devops
      ref: 'refs/heads/main'

extends:
  template: pipelines\dbr-job-template.yml@templates
  parameters:
    sourceFolder: '${{ variables.pipelineFolder }}'

关键说明

  • System.DefinitionPath是Azure Pipelines内置变量,返回当前流水线YAML文件在仓库中的完整路径(例如/job-1-folder/azure-pipelines.yml)
  • 通过replace表达式移除路径末尾的/azure-pipelines.yml,自动得到存放YAML的文件夹路径
  • 所有需要引用该文件夹的位置(触发器路径、PR路径、模板参数)都使用${{ variables.pipelineFolder }},实现完全参数化,用户无需手动修改文件夹名称

内容的提问来源于stack exchange,提问作者roijoris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 04:30:22