Я использую функции нескольких репозиториев Azure DevOps, описанные здесь:
https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops
У меня есть файл YAML в одном репо, и конвейер указывает на этот YAML. YAML имеет триггер, настроенный для другого ресурса репозитория, поэтому при обновлении этого репо будет запущен конвейер:
resources:
repositories:
- repository: MyRepo
endpoint: 'MyRepos'
type: git
name: RepoName
trigger:
- '*'
В документации утверждается, что переменная Build.SourceBranch позволит мне определить, какая ветвь в MyRepo инициировала сборку конвейера: когда обновление одного из репозиториев запускает конвейер, следующие переменные устанавливаются на основе запуска репозитория
Однако, похоже, это не так. Независимо от того, какая ветвь запускает сборку, Build.SourceBranch всегда является refs / Heads / master, предположительно потому, что репо, содержащее YAML, имеет ветку по умолчанию «master».
Я также не могу найти ни одной переменной среды, для которой установлено имя ветки, которая запустила сборку. Итак, как я могу получить имя ветки, которая запустила сборку? Если нет возможности, думаю, это нужно добавить!