Конвейер Azure DevOps запускается только для определенного тега

#git #azure-devops #azure-pipelines

#git #azure-devops #azure-конвейеры

Вопрос:

У меня есть конвейер Azure DevOps, который я хочу запускать только тогда, когда определенный тег помещается в репозиторий, но по какой-то причине он всегда выполняется при каждой фиксации.

У моего azure-pipelines.yml триггера такая настройка:

 trigger:
  tags:
    include:
      - mytag.*
  

Я также попытался исключить все ветви:

 trigger:
  branches:
    exclude:
      - "*"
  tags:
    include:
      - mytag.*
  

Похоже, что не имеет значения, что trigger установлено как, оно просто всегда выполняется при каждой фиксации.

Как мне заставить его запускаться только тогда, когда я нажимаю на тег?

Комментарии:

1. Установлен ли триггер для файла одинаковым во всех ветвях?

2. @Matt При настройке этого я делал все в azure-pipeline ветке. Таким образом, ни в какой другой ветке этого нет azure-pipelines.yml .

Ответ №1:

Я попробовал то, что вы написали, и, похоже, это работает:

 trigger:
  branches:
    exclude:
      - '*'
  tags:
    include:
    - v2.*
    exclude:
    - v2.0

pr:
  branches:
    include:
      - refs/tags/v2.*
    exclude:
      - 'refs/tags/v2.0'
      - '*'
  

Итак, для этой конфигурации, когда я делаю коммит, сборка не запускается. Сборка запускается только тогда, когда я нажимаю тег. Он фиксирует последнюю фиксацию, но это явно вызвано тегом.

введите описание изображения здесь

Здесь, например, у вас есть другая сборка, которая была запущена Test commit

введите описание изображения здесь

Комментарии:

1. Итак, я действительно не заметил, как там указано, что вызвало триггер сборки (как на вашем первом скриншоте). Оказывается, мои сборки на самом деле запускались с помощью запросов на извлечение. Я смог решить свою проблему, используя pr вместо trigger . Это происходило при каждом коммите, потому что у меня был открытый PR для этой ветки. Я нахожу чрезвычайно странным, что это функциональность по умолчанию.

2. На самом деле обычно вам нужно повторять настройки для обоих trigger и pr . Я отредактировал свой ответ, чтобы включить это. Если бы вы могли принять мой ответ или добавить свой собственный, это убрало бы эту проблему с радаров других пользователей SO, поскольку она будет помечена как решаемая. Я рад, что мой ответ помог вам выяснить основную причину.