![如果日志中的警告超过一定数量,则 Teamcity 构建失败](https://linux22.com/image/1313603/%E5%A6%82%E6%9E%9C%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E8%AD%A6%E5%91%8A%E8%B6%85%E8%BF%87%E4%B8%80%E5%AE%9A%E6%95%B0%E9%87%8F%EF%BC%8C%E5%88%99%20Teamcity%20%E6%9E%84%E5%BB%BA%E5%A4%B1%E8%B4%A5.png)
我正在使用最新版本的 TeamCity,并且我尝试在“警告:”一词出现的次数超过一定水平时使构建失败。
我正在使用正则表达式在构建日志中使用新的构建失败条件。我在 stackoverflow 上对实际正则表达式还有另一个问题。
实际的正则表达式是
(?:\\bWarning:.*?){1000,}
或者修改版本以启用单行匹配
(?s)(?:\\bWarning:.*?){1000,}
这两种表达方式都一直有效。
答案1
问题在于 teamcity 并不是 100% 清楚正则表达式的工作原理。
它仅按行操作。我需要检查完整的日志文件。这个问题最终通过让 msbuild 将日志文件输出到单独的位置并使用新的构建步骤进行检查来解决。