Teamcity 与 powershell 脚本的交互

Teamcity interaction with powershell script

我有一个运行约 30 分钟的 powershell 脚本(等待各种进程完成)。最后,它向事件日志写入一条消息,确定该过程是成功还是失败。我计划在 teamcity 上托管此脚本并希望构建失败,但不知道如何处理脚本和 teamcity 之间的交互才能实现这一点。

我正在寻找一种方法来制作远程 运行 的 powershell 脚本,以便与 teamcity 进行通信,无论是失败还是成功。我已经阅读了很多 teamcity 文档,但我仍然不确定如何开始。

您或许应该考虑使用 TeamCity Service Messages, or specifically Reporting Build Problems

如何使用 PowerShell 发出服务消息的示例(假设您使用的是 PowerShell 构建步骤):

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

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

您可以在其中注入捕获的 powershell 错误消息。

要故意使 teamcity 中的构建失败,您应该使用“[Environment] :: Exit (1)”而不是 "Exit 1"。

更多信息可以在下面的 link 获得:

https://confluence.jetbrains.com/display/TCD9/PowerShell