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

如何为Azure YAML管道中GitVersion任务添加main分支执行条件

实现GitVersion任务仅在main分支运行的配置

要让GitVersion相关任务只在main分支执行,你可以给这些任务(或包含它们的Job)添加Azure YAML管道的condition属性,指定分支匹配条件。

方案1:给单个任务添加条件

直接在每个GitVersion相关任务下添加condition,判断当前分支是否为main:

- task: gitversion/execute@0
  inputs:
    useConfigFile: true
    configFilePath: 'GitVersion.yml'
  condition: eq(variables['Build.SourceBranchName'], 'main')

- script: echo current version is $(GitVersion.MajorMinorPatch) 
  displayName: 'Display calculated version'
  condition: eq(variables['Build.SourceBranchName'], 'main')

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: 'echo ##vso[build.updatebuildnumber]$(GitVersion.MajorMinorPatch)'
  condition: eq(variables['Build.SourceBranchName'], 'main')

方案2:将任务归到同一个Job并添加全局条件

如果GitVersion相关任务是一组逻辑单元,可以把它们放到单独的Job中,给Job添加条件,无需逐个任务配置:

jobs:
- job: RunGitVersion
  condition: eq(variables['Build.SourceBranchName'], 'main')
  steps:
  - task: gitversion/execute@0
    inputs:
      useConfigFile: true
      configFilePath: 'GitVersion.yml'
  
  - script: echo current version is $(GitVersion.MajorMinorPatch) 
    displayName: 'Display calculated version'

  - task: PowerShell@2
    inputs:
      targetType: 'inline'
      script: 'echo ##vso[build.updatebuildnumber]$(GitVersion.MajorMinorPatch)'

说明

  • Build.SourceBranchName是Azure管道内置变量,代表触发构建的分支名称(如main、feature/test)。
  • 若需匹配完整分支引用路径(如refs/heads/main),可改用条件:eq(variables['Build.SourceBranch'], 'refs/heads/main')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:55:11