gpt4 book ai didi

powershell - 我如何从TeamCity构建中运行的Powershell脚本收到有意义的错误消息?

转载 作者:行者123 更新时间:2023-12-03 08:46:37 26 4
gpt4 key购买 nike

我有一个TeamCity构建,其中一个步骤是.proj文件的MSBuild调用:

Runner type: MSBuild
Build file path: TestProject.proj
Targets: Test

在.proj里面,我有目标:
<Target Name="DeployTestService">
<Message Text="Deploying test service" />
<Exec Command="powershell -Command &quot;&amp; { myUsefulPsScript.ps }&quot;" />
</Target>

<Target Name="Test">
// other stuff, then
<CallTarget Targets="DeployTestService" />
</Target>

而且在大多数情况下效果很好。但是,如果Powershell脚本失败(引发了未处理的异常,并且我可以在完整的日志中看到其文本)并以非零代码退出,那么我在Teamcity构建结果中看到以下内容:
 Tests passed: (some number); exit code 1

而构建树只是说:
Build failure condition (1)
Process exited with code 1
[Time]Process exited with code 1

直到获得完整的日志,我才真正知道哪个步骤失败了,以及如何准确。这并不是要解决最初的问题,而是要更快地找到错误的步骤。

有没有一种方法可以使Teamcity说类似“步骤N中的运行程序因此错误消息[我在完整日志中看到的消息]而失败”的信息?

最佳答案

您需要使用Teamcity output format。例如,每次开始新测试时,请打印:

##teamcity[testStarted name='foo|'s test']

这样,Teamcity将知道应用程序崩溃前的最后一步或最后一次测试是什么,并且它将能够相应地格式化输出。

关于powershell - 我如何从TeamCity构建中运行的Powershell脚本收到有意义的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com