如何为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
相关产品推荐
相关产品推荐

