#azure-devops #azure-pipelines
#azure-devops #azure-конвейеры
Вопрос:
Я пытаюсь запустить конвейер сборки Azure DevOps на основе одновременного изменения двух файлов в моем master
репозитории со следующим триггером:
trigger:
branches:
include:
- master
paths:
include:
- '**/*task.json'
- '**/vss-extension.json'
Моя структура папок для этого репозитория выглядит примерно так:
repository:
|--run-stryker
--vss-extension.json
--other files here ...
|--task
--task.json
--other files here ...
Однако одновременные изменения в этих файлах не запускают мой конвейер. Что я здесь делаю не так?
Ответ №1:
К сожалению, использование подобных подстановочных знаков в триггерах CI на данный момент не поддерживается. Вы можете использовать *
только в конце путей, но это работает так же, как и без этого. Подобные подстановочные знаки работают при сопоставлении файлов в задачах, но не в триггере пути. Поэтому вы должны использовать точные пути, такие как:
trigger:
branches:
include:
- master
paths:
include:
- 'run-stryker/task/task.json'
- 'run-stryker/vss-extension.json'
или использование только путей к папкам, таких как:
trigger:
branches:
include:
- master
paths:
include:
- 'run-stryker/*' # is the same as 'run-stryker/'
Ссылка на документацию: подстановочные знаки в триггерах CI
Комментарии:
1. Ваше решение с полным путем работает просто отлично. Тем не менее, я не могу понять, почему мое первоначальное решение не работает, поскольку у меня есть этот */ .csproj, и этот **/*Tests.csproj отлично работает для меня на другом конвейере.