拥有一个使用 Teamcity 和 Octopus 的 CI 管道部署和构建用 Cake 编写的脚本,我希望能够显示构建脚本生成的错误消息。
现在显示的消息是:
Exit code 1 (new)
为了能够看到真正的错误消息,必须查看构建日志并对其进行解析。
因此,即使在使用构建脚本时,我也希望能够在概览页面和错误列表中显示构建结果,如下图所示: 我知道 Cake 提供与 TeamCity 集成的支持,但文档和示例不支持这么简单。
谁能提供一些关于这个主题的有用信息?
拥有一个使用 Teamcity 和 Octopus 的 CI 管道部署和构建用 Cake 编写的脚本,我希望能够显示构建脚本生成的错误消息。
现在显示的消息是:
Exit code 1 (new)
为了能够看到真正的错误消息,必须查看构建日志并对其进行解析。
因此,即使在使用构建脚本时,我也希望能够在概览页面和错误列表中显示构建结果,如下图所示: 我知道 Cake 提供与 TeamCity 集成的支持,但文档和示例不支持这么简单。
谁能提供一些关于这个主题的有用信息?
Cake 实现了一种能够编写构建问题的方法
TeamCityProvider.BuildProblem(string, string)
查看此提供程序的源代码,我可以确定这将构建一个字符串以输出,该字符串符合TeamCity 文档中指定的构建脚本交互,特别是报告构建问题
##teamcity[buildProblem description='<description>' identity='<identity>']
通过调用BuildProblem("Some message", "Some identity")
这将输出
##teamcity[buildProblem description='Some Message' identity='Some identity']
然后,TeamCity 应该使构建失败并根据文档显示消息;
要直接从构建脚本失败构建,已报告构建问题。构建问题出现在构建结果页面上,并且还会影响构建状态文本。
您需要编辑 cake build 脚本以正确捕获异常并调用上述方法,因此它将正确写入输出流。
我可以使用 PowerShell 脚本复制此行为以将buildProblem
消息写入输出流
然后,这将在概览页面的构建结果中显示消息
希望这可以帮助