В соответствии с вашими операционными шагами и конфигурацией YAML сборка не может быть запущена разумно.
Давайте сначала сосредоточимся на конфигурации YAML. В вашем определении YAML вы устанавливаете master
как триггерную ветвь. Это означает, что только изменения, произошедшие в master
, могут инициировать этот конвейер сборки.
При первом действии вы удаляете некоторые файлы из ветви DEVOPS
. Затем зафиксируйте и вставьте его в remotes/Origin
. Но, как вы определили в конвейере, это действие не может запустить этот конвейер. Это как и ожидалось.
Далее, в ветке master
вы удаляете файл azure-pipelines.yml
, затем фиксируете и нажимаете его. Обратите внимание, что в это время удаленная главная ветвь была синхронизирована с локальной главной ветвью. Одним словом, после нажатия на источник, в основной ветви Azure Devops не существует файла azure-pipelines.yml
.
НО , может ли сборка выполняться, зависит от того, существует yml или нет. Да, вы внесли некоторые изменения в основную ветку. Но без файла yml
сборка не может быть успешно запущена. Вот почему вы столкнулись с тем, что конвейер не был запущен.
И та же причина для вашего следующего действия.
Как настроить конвейеры DevOps Azure для хранения Azure-Файл pipelines.yml в ветви, отличной от master, и запуск изменений на master?
До сих пор этого не могло быть достигнуто, если тип определения вашей сборки равен YAML .
Для конвейера, тип определения которого YAML, для достижения ожидаемого результата файл yml
с такой же конфигурацией также должен храниться в соответствующих ветвях, которые определены в конвейере.
Возьмите пример, который вы описали в вопросе. Если вы сохраняете только файл yml
в ветке DEVOPS
, независимо от того, какие изменения внесены в ветку master
, сборка никогда не будет запускаться.
Для достижения триггера на изменениях мастера этот файл yml
также должен храниться в главной ветви. Таким образом, предварительное условие конвейера сборки, тип определения которого является YAML, может быть запущено: файл yml также должен существовать в соответствующих ветвях, если он указан в определении yml. Это потому, что этот тип сборки может работать на основе yml
из исходных файлов.