К сожалению, триггеры с несколькими репозиториями пока поддерживаются для ресурсов репо Github.
Как сказано в документе:
Триггеры ресурсов репозитория работают только для Azure репозиториев Git репозиториев в настоящее время. Они не работают для ресурсов репозиториев GitHub или Bitbucket.
Если вы использовали репозитории Azure Repos, Git. Вам необходимо указать раздел trigger для ресурсов репозитория, чтобы включить триггеры Multi-repo. См. Документ здесь для получения дополнительной информации.
Поскольку вы используете github, вы можете использовать триггеры завершения конвейера в качестве обходного пути. Вы можете обратиться к шагам ниже, чтобы настроить триггер завершения конвейера для конвейера RepoB.
1, Настройте конвейер запуска для RepoA.
Вы можете создать конвейер для github RepoA в azure DevOps. Рекомендуется использовать конвейер Classi c UI, поскольку он не добавит файл azure -pipelines.yaml в ваш RepoA.
Я предлагаю вам добавить пустое задание агента (без каких-либо задач) в запуск трубопровод. Так что выполнение конвейера всегда будет успешным.
![enter image description here](https://i.stack.imgur.com/B8iVH.png)
You need to Enable continuous integration for this triggering pipeline. So that the commits/PRs for branches in RepoA will automatically trigger this pipeline.
In the pipeline Edit page, Go to Triggers tab, Check Enable continuous integration
, Add the branches you want to enable CI in the Branches Filters section
![enter image description here](https://i.stack.imgur.com/Vs8Sf.png)
2, Set up pipeline resources in triggered pipeline (ie. azure-pipelines.yaml file for RepoB)
Add the ресурсы конвейера и укажите секцию триггера в ресурсе конвейера. См. Пример ниже:
resources:
repositories:
- repository: Repo A
type: github
endpoint: ***
name: ***/RepoA
pipelines:
- pipeline: repoAPipeline # Name of the pipeline resource
source: triggeringPipeline-RepoA # Name of the triggering pipeline
trigger:
branches:
- releases/*
- master
При внесении изменений в RepoA конвейер запуска будет запущен и успешно завершится. Когда конвейер запуска завершен, конвейер для RepoB будет запущен.
Путем настройки конвейера запуска для RepoA и ресурсов конвейера в конвейере RepoB. Вы можете добиться того же эффекта с помощью триггеров Multi-repo.