我想
grep
构建日志来计算编译器警告的数量。是否可以在此步骤或上一步中对构建日志运行命令?
TeamCity Enterprise 2022.04.4(内部版本 108763)
您可以尝试将编译器的输出保存到文件中,然后对其进行 grep。例如
make 2>&1 | tee make.log
grep -o 'WARN' make.log | wc -l
在那种情况下
tee
将命令输出打印到标准输出和文件
我找到了一种从 TeamCity 获取运行日志的方法。有点迂回的方式,但它有效:
warning_count=$(curl https://<teamcity-server>/downloadBuildLog.html?buildId=%teamcity.build.id% --user "%system.teamcity.auth.userId%:%system.teamcity.auth.password%" | grep -c 'warning: ')
它使用
curl
获取日志的方式与从web UI下载日志的方式相同。然后将结果输入grep
.
附带奖励:
warning_count
可用于创建统计值:
echo "##teamcity[buildStatisticValue key='warning_count' value='$warning_count']"