Конвейер Azure Devops, триггер с несколькими ветвями не работает

Я впервые работаю с Azure Devops Pipelines. Я использую файл .yml. Но я не могу понять, почему конвейер не запускается, когда я оформляю заказ и отправляю ветку от разработки к выпускам / *. Он просто не сработает, даже если есть изменения в src/, которые находятся внутри моего нового releases/newbranch

Но когда я объединю свои изменения из клиентов / ветки функций с customers/moa-prototype-client1/release, конвейер запустится.

Мой триггер:

trigger:
  branches:
    include:
    - customers/moa-prototype-client1/release
    - releases/* 
  paths:
    include:
    - src/*
    - src/customers/moa-prototype-client1/*
    exclude:
    - '*.yml'
    - src/customers/*

Что может вызвать это?

Вкратце: он сработает, когда я сливаюсь с Customers/Customername/Develop на Customers/Customername/Release. Но не будет, когда я сливаюсь с Develop на Releases/*

Наше репо: Gitflow


person Mattyy    schedule 02.07.2020    source источник
comment
Это может быть проблема, аналогичная этой, stackoverflow.com/questions/59102880/ проверьте мой ответ с переопределением примера yaml.   -  person Kontekst    schedule 02.07.2020
comment
Дополнительную информацию о том, что может пойти не так, можно найти здесь: docs.microsoft.com/en-us/azure/devops/pipelines/repos/ Также проверьте чувствительность к регистру.   -  person Kontekst    schedule 02.07.2020
comment
@Kontekst, спасибо за ответ. Это была ошибка пользователя, за триггером был пробел. Думаю, проблема была в этом. Теперь все работает нормально :)   -  person Mattyy    schedule 06.07.2020


Ответы (2)


Судя по вашему описанию, эта проблема существует в ветке Release/*. И customers branch может работать, как ожидалось.

Во время тестирования я столкнулся с похожей ситуацией. Если ветка Release/* не содержит файла Yaml с триггерами, изменения в ветвях выпуска не будут запускать сборку.

Например:

Не работает

Нет файла Yaml

Чтобы решить эту проблему, вы можете скопировать один и тот же файл yaml из других веток во все ветки выпуска.

Содержат файл Yaml

Тогда изменения в ветвях Release могут успешно запустить сборку.

С другой стороны, как сказал Контекст, фильтры пути чувствительны к регистру. Вы можете проверить их одновременно.

Надеюсь это поможет

person Kevin Lu-MSFT    schedule 03.07.2020
comment
Спасибо за ответ, файл yml доступен в каждой ветке. В данном случае это была ошибка пользователя ... каким-то образом за моим триггером был пробел. теперь все работает нормально :) - person Mattyy; 06.07.2020
comment
@Mattyy. Рад узнать, что эта проблема решена. Может быть, вы могли бы поделиться с нами решением. Тогда вы можете принять свой ответ. В этом случае другие могут напрямую найти полезное решение. - person Kevin Lu-MSFT; 06.07.2020

Решение: после проверки ссылок и возможного решения, предложенного некоторыми пользователями, я заставил его работать. Но я не был полностью доволен этим исправлением, потому что я хотел запустить свой конвейер с помощью моего файла .yml, а не переопределять триггеры с помощью настроек конвейера.

Когда я снова посмотрел на свой .yml и заметил пробел за releases/*, я удалил это пространство и передал его в свое репо, и все работало как надо!

person Mattyy    schedule 06.07.2020