我在Visual Studio Team Services中有一个带有两个子文件夹的Git仓库。一个是HelloWorld,另一个是ST。路径在我的本地文件夹中显示为。
根 /你好,世界 /你好,世界 / ST
在HelloWorld下是一个C#应用程序。 ST下是一组基本的DB脚本。
我想分别使用CI构建这些CI。我有一个HelloWorld构建和一个ST构建,每个都独立工作。如果我使用git和push提交更改,则构建会成功运行。意思是,如果我从VS提交C#更改,将运行ST数据库构建,然后运行c#,VS解决方案构建。 如果我提交并推送db更改,同样的事情。两个版本都运行。
但是,如果我在VSTS中使用新的路径过滤器,并使用以下任一项为ST构建添加过滤器:
在任一文件夹中提交更改,ST版本将无法运行。
同样,如果我将一个过滤器添加到HelloWorld构建,包含或排除,那么该构建将不会运行。
我尝试了以下路径:
要么构建更多的组合。如果我使用任何路径过滤器,事情将不会触发构建。无论过滤器是什么,手动构建都可以正常工作。
我错过了什么或路径过滤器坏了吗?
答案 0 :(得分:5)
我不确定TFS / VSTS中项目的文件夹结构,所以我创建了一个示例项目供您参考,以下是文件夹结构:
如果将更改推送到第一个“HelloWorld”文件夹中,则会触发构建,并且按下“ST”文件夹的更改不会触发使用以下设置的构建:
请先从“代码”标签检查文件夹结构,然后更新构建定义的设置。
答案 1 :(得分:0)
这是一个问题,请参阅此链接了解详情:CI Builds may not trigger as expected.尝试检查您的构建定义是否受到影响,通过历史记录标签验证定义。
此外,这个问题已于6月27日修复。
最终更新:2016年6月27日星期一22:53 UTC
修复程序部署于2016年6月27日21:26 UTC完成,我们有 确认我们无法再重现该问题。我们理解这一点 客户依赖VS Team Services作为关键服务并道歉 对于此事件造成的任何影响。
此致,Arvin