Teamcity与PowerShell脚本的交互

5
我有一个运行时间约为30分钟的PowerShell脚本(等待各种进程完成)。最后,它会将一条消息写入事件日志,并确定进程是否成功或失败。我计划在teamcity上托管此脚本,并希望构建失败,但不知道如何处理脚本与teamcity之间的交互以实现此目的。
我正在寻找一种方法,可以使远程运行的PowerShell脚本与teamcity通信,以确定成功或失败。我已经阅读了很多teamcity文档,但仍然不确定如何开始处理这个问题。
2个回答

7
您可能需要考虑使用TeamCity的服务消息,或者具体来说是报告构建问题。以下是如何使用PowerShell发出服务消息的示例(假设您正在使用PowerShell构建步骤):

服务消息报告构建问题与TeamCity的构建脚本交互相关。

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

或者

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

您可以在此处注入捕获的PowerShell错误消息。


需要注意的一点是,我不得不在“构建配置>失败条件”下添加一个特定的失败条件,以匹配描述,才能使其失败。 - Speerian
@Speerian 非常有趣;我正在运行一个没有失败的构建,但它正如预期地失败了,并出现“buildProblem”服务消息;使用 Powershell 运行器构建步骤和内联源脚本。也许在执行外部脚本时有不同的行为。 - SteveChapman

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接