Azure git存储库中有一个构建管道:
variables:
BuildConfiguration: release
BuildPlatform: 'any cpu'
trigger:
branches:
include:
- release/*
paths:
include:
- src/*
- azure-pipelines.yml
- versionFile
我正在使用push
命令将本地分支推送到远程存储库,如下所示:
git push --set-upstream origin release/0.6.9 Total 0 (delta 0), reused 0 (delta 0) To https://dev.azure.com/*****/**/_git/** * [new branch] release/0.6.9 -> release/0.6.9
,新分支出现在源代码管理中。
新分支更改包含src
子文件夹中的文件。
问题是构建无法启动。
它应以documented开头:
如果您的管道具有路径过滤器,则只有在新分支对与该路径过滤器匹配的文件进行了更改时,才会触发该管道。
release/*
过滤器后面没有空格,就像我刚刚检查过的一样。
我还可以检查什么?
UPD : 所有路径条件都应该为真吗?
paths:
include:
- src/*
- azure-pipelines.yml
- versionFile
只有src/*
文件被新分支更改,versionFile
和azure-pipelines.yml
相同。
UPD2:
还有一个建立文档的构建管道
它从git push --set-upstream
trigger:
branches:
include:
- release/*
paths:
include:
- doc/*
答案 0 :(得分:0)
使用Yaml文件中的相同触发器进行测试,它可以成功触发构建。
我想分享我的步骤以及此问题的可能原因。
这是我的步骤,您可以参考它们。
回购结构:
第一步:运行Git命令将更改推送到新分支。
命令:
git clone "repourlxxx"
git checkout -b release/0.9.7
git add --all
git commit -m "first commit of my code"
git remote add origin xxx
git push --set-upstream origin release/0.9.7
注意::在本地更改src文件夹的内容时,需要使用git commit
命令添加更改,然后将其推送到新分支。否则,新分支中不会有任何更改,因此不会触发构建。
步骤2:将创建新分支release/0.9.7
,并触发管道。
注意:带有触发器的YAML文件(azure-pipelines.yml)需要包含在新分支中
解决方法:
您可以尝试使用UI触发器覆盖Yaml代码中的触发器。
导航至设置->触发器->选择Override the YAML continuous integration trigger from here
选项。
答案 1 :(得分:0)
我已经禁用了现有管道,并创建了一个新管道(来自同一yml文件)。
神奇的是它开始像魅力一样工作(我没有使用管道UI覆盖触发器)
由于存在基于现有管道的发行版,因此无法删除现有管道。