是否可以格式化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
我希望日志的大块可以在树视图中折叠。
答案 0 :(得分:18)
是的,我们使用我们的powershell脚本执行此操作,您需要将构建脚本添加到update Teamcity with the build status。更具体地说,您需要report the build progress,它将告诉Teamcity何时发生工作块的开始和结束。构建完成后,Teamcity将使用此信息在日志的树视图上创建节点。
在powershell中执行以下操作:
write-host "##teamcity[progressStart '<message>']"
do work
write-host "##teamcity[progressFinish '<message>']"
注意您需要确保消息在开始和结束消息中是相同的,块可以嵌套。您也可以使用block message代替。我不确切地知道区别是什么,但你似乎得到了相同的结果:
write-host "##teamcity[blockOpened name='<blockName>']"
do work
write-host "##teamcity[blockClosed name='<blockName>']"