Конвейеры Azure выполняют определенную задачу, если и ТОЛЬКО ЕСЛИ ветвь равна master в yaml - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь изменить свой файл 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'

Я хочу выполнить одну цель, только если ветвь, которая работает, является главной.В основном с помощью моих тестов я создаю файл dockerfile и хочу отправить его в dockerhub, но я не хочу, чтобы это происходило каждый раз, когда кто-то открывает запрос на извлечение;Я хочу, чтобы это произошло, только если мастер запускает тесты.Что-то вроде этого

if branch == master 
steps: *

, но я не вижу ничего в документации по конвейерам Azure, как это сделать

1 Ответ

1 голос
/ 30 апреля 2019

Вы можете использовать следующее условие для задачи, которую хотите выполнить:

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

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml#examples

...