簡體   English   中英

我如何從TeamCity構建中運行的Powershell腳本收到有意義的錯誤消息?

[英]How do I have a meaningful error message from powershell script running in TeamCity build?

我有一個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輸出格式 例如,每次新的測試開始時,打印:

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

這樣,Teamcity將知道應用程序崩潰之前的最后一步或最后的測試是什么,並且它將能夠相應地格式化輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM