Azure devops Azure管道在yaml中运行特定任务的条件是且仅当分支等于主分支

Azure devops Azure管道在yaml中运行特定任务的条件是且仅当分支等于主分支,azure-devops,automated-tests,azure-pipelines,Azure Devops,Automated Tests,Azure Pipelines,我正在尝试更改yaml文件以添加更多任务。这是我当前的yaml文件: trigger: - master pool: vmImage: 'Ubuntu-16.04' steps: - task: Maven@3 inputs: mavenPomFile: 'pom.xml' # according to: https://github.com/MicrosoftDocs/vsts-docs/issues/3845, # maven o

我正在尝试更改yaml文件以添加更多任务。这是我当前的yaml文件:

trigger:
  - master

pool:
  vmImage: 'Ubuntu-16.04'

steps:
  - task: Maven@3
    inputs:
      mavenPomFile: 'pom.xml'
      # according to: https://github.com/MicrosoftDocs/vsts-docs/issues/3845, 
      # maven options should go to goals instead, as mavenOptions is for jvm options
      mavenOptions: '-Xmx3072m'
      javaHomeOption: 'JDKVersion'
      jdkVersionOption: '1.11'
      jdkArchitectureOption: 'x64'
      publishJUnitResults: true
      testResultsFiles: '**/surefire-reports/TEST-*.xml'
      goals: 'verify -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true --batch-mode --show-version'
我只想在运行的分支是master的情况下运行一个目标。基本上,通过我的测试,我创建了一个dockerfile,我想将它推送到dockerhub,但我不希望每次有人打开pull请求时都发生这种情况;我希望只有在master运行测试时才会发生这种情况。像这样的

if branch == master 
steps: *

但是我在Azure Pipelines文档中似乎找不到任何关于如何执行此操作的信息

您可以在您想要设置条件的任务上使用以下条件:

eq(variables['Build.SourceBranch'], 'refs/heads/master')

谢谢,我在多份工作文档中发现了一些好东西,我还有最后一个问题,那是不是在“任务”下:Maven@3'我可以在task
条件下这样说吗:eq(variables['Build.SourceBranch'],'refs/heads/master')
这正是您将它放在task下的位置