如何阻止非master分支提交触发YAML构建流水线?
问题:Azure DevOps YAML流水线分支触发异常
我希望YAML构建流水线仅在提交至master分支时运行,但目前任何分支的提交都会触发构建。
已启用持续集成(Continuous Integration),手动和计划构建的默认分支为master,触发器中未勾选「覆盖YAML持续集成触发器」。
我的YAML配置如下:
trigger: braches: include: - master pool: vmImage: 'windows-latest'
我原以为仅在触发器中指定master分支,就只会在master分支提交时触发流水线,但实际任何分支提交都会触发。
更新1
我还尝试了以下配置,流水线仍会运行:
trigger: branches: include: - azure-pipelines-ubuntu exclude: - master
我发现两条流水线都在运行linux分支中的YAML,但编辑第一条流水线时,打开的却是master分支的YAML。
手动运行Linux流水线时会报错:
遇到错误:无法找到此分支/标签对应的有效流水线YAML文件
选择正确分支后才可运行。
查看运行记录时还看到提示:
检测到与流水线触发器相关的近期问题
点击「查看详情」显示:
触发器配置失败,请重新编辑并保存流水线
但重新编辑保存后并无改善。
更新2
我通过Visual Studio在azure-pipelines-linux分支编辑文件并提交,生成的提交图谱如下:
azure-pipelines-linux.yml仅存在于azure-pipelines-linux分支中。
更新3
在UI中两条流水线均显示对应azure-pipelines-ubuntu分支,但从DevOps编辑流水线时会加载正确的yml文件:
编辑第一条流水线:
编辑第二条流水线:
更新4
编辑YAML时,可在下拉框中选择所需分支:
内容的提问来源于stack exchange,提问作者Kirsten
相关产品推荐
相关产品推荐

