2015-08-24 50 views
5

我有一個運行約30分鐘(等待各種過程完成)的PowerShell腳本。最後,它會向事件日誌寫入一條消息,確定該過程是成功還是失敗。我計劃在teamcity上託管這個腳本,並希望構建失敗,但不知道如何處理腳本和teamcity之間的交互以實現此目的。團隊城市與powershell腳本的互動

我正在尋找一種方法來製作一個遠程運行的powershell腳本,以便與teamcity溝通它是失敗還是成功。我已經閱讀了很多teamcity文檔,但我仍不確定如何着手解決這個問題。

回答

7

您應該考慮使用TeamCity Service Messages或特別是Reporting Build Problems

如何使用發射PowerShell的(假設你使用PowerShell的生成步驟)一個服務消息的示例:

Write-Output "##teamcity[buildStatus text='I am a successful build']" 

Write-Output "##teamcity[buildProblem description='$powershell_error_message']" 

在這裏可以注入所捕獲的powershell錯誤信息。

+0

有一件事需要注意,其他人看到這一點是我必須在構建配置>符合描述的故障條件下添加特定故障條件才能使其失敗。 – Speerian

+0

@Speerian這很有趣;我有一個沒有失敗條件的構建運行,並且如預期的那樣出現「構建問題」服務消息;使用Powershell跑步者構建步驟和內聯源腳本。執行外部腳本時可能有不同的行爲。 – SteveChapman