При попытке использовать проверку сборки в запросе на извлечение я добавил конвейер (протестирован и работает вручную), который хранится в другой ветке.
Затем запускается запрос на включение, я не вижу никакого продвижения по конвейеру, а кнопка «Очередь» становится серой на несколько минут и возвращается в то же состояние. Смотрите изображение:
Нажатие "Очередь" не помогает, так как конвейер не запустился. Работа над службами Azure DevOps с помощью Git Repo в репозиториях Azure.
Я удалил все ограничения из YAML (без ограничений по триггерам или ветвлениям).
См. YAML ниже.
resources:
repositories:
- repository: self
type: git
name: GIT/aGit
ref: refs/heads/dev/prbase
jobs:
- job: Phase_1
displayName: Agent job 1
timeoutInMinutes: 90
pool:
name: W10VS2022
steps:
- checkout: none
fetchDepth: 1
lfs: true
persistCredentials: True
- task: PowerShell@2
name: Task1
displayName: Stop All
inputs:
targetType: inline
script: >-
Write-Host "Stop all C:\install"
Get-Process | Where-Object {$_.Path -like "c:\install*"} | Stop-Process -Verbose
** НЕТ ВОЗМОЖНОСТИ ИСПОЛЬЗОВАТЬ YAML В РАЗНЫХ ВЕТКАХ ДЛЯ PR **
При попытке использовать проверку сборки в запросе на извлечение я добавил конвейер, который хранится в другой ветке.
Причина проблемы в том, что YAML-файл конвейера хранится в другой ветке. Я могу воспроизвести ту же проблему, когда делаю то же самое.
Если я изменю конвейер на тот, в котором файл YAML хранится в исходной или целевой ветке запроса на извлечение, конвейер будет работать как обычно. Затем мы можем проверить успешный запуск и обнаружить, что на этапе оформления заказа это Checkout reponame@refs/pull/{pullrequestID}/merge to s
.
Таким образом, запуск, запущенный при проверке сборки, будет использовать исходный код запроса на включение (@refs/pull/{pullrequestID}/merge
). Это имеет смысл, поскольку цель проверки сборки — проверить, достаточно ли хорош код в запросе на слияние для слияния.
Возвращаясь к вашему случаю, когда файл YAML конвейера хранится в другой ветке, этот файл YAML отсутствует в списке файлов запроса на включение. Таким образом, конвейер не будет работать, поскольку файл YAML не существует.