12

是否可以格式化 powershell 输出,使其在 TeamCity 构建日志树视图中呈现为可折叠部分?

例如,我的构建步骤使用了一个 powershell 运行器,并发出了一个

write-host " #################  deployment manifest ############################"
ls -r -i *.* | %{ $_.FullName }

输出这个:

[15:28:13] #################  deployment manifest ############################
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Bin
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\contact
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Content
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\controls
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\error

我希望日志的那块可以在树视图中折叠。

4

1 回答 1

19

是的,我们使用我们的 powershell 脚本执行此操作,您需要获取构建脚本以使用构建状态更新 Teamcity。更具体地说,您需要报告构建进度,这将告诉 Teamcity 工作块的开始和结束时间。构建完成后,Teamcity 将使用此信息在日志的树视图上创建节点。

在 powershell 中执行以下操作:

write-host "##teamcity[progressStart '<message>']"

do work

write-host "##teamcity[progressFinish '<message>']"

注意您需要确保开始和结束消息中的消息相同,块可以嵌套。您也可以改用阻止消息。我不知道到底有什么区别,但你似乎得到了相同的结果:

write-host "##teamcity[blockOpened name='<blockName>']"

do work

write-host "##teamcity[blockClosed name='<blockName>']"
于 2012-04-27T20:55:53.260 回答