2012-04-27 12 views
10

PowerChellの出力をTeamCityのビルドログツリービューで縮小可能なセクションとしてレンダリングすることは可能ですか?TeamCityログの折りたたみ可能なツリービューにpowershell出力をフォーマットすることはできますか?

だから例えば、私のビルドステップは、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 

私は折りたたみ可能であることを、ログのチャンクを希望しますツリービュー。

+1

折りたたみ可能な基準は何ですか?私はPowerShellを知っていますが、TeamCityがその点でどのように機能しているかはわかりません。 – Joey

+0

出力を使ってhtml/html5文書を作成することを考えましたか?あなたは文書への書き込みホストを開始してマークアップを書いてください。その後、あなたは.. – dc5553

+0

あなたはTeamCityのどのバージョンを使用していますか? – Bronumski

答えて

17

これはPowerShellスクリプトで行います。ビルドスクリプトをupdate Teamcity with the build statusにする必要があります。具体的には、report the build progressが必要です。これは、作業ブロックの開始と終了が発生したときにTeamcityに通知します。ビルドが終了すると、Teamcityはこの情報を使用してログのツリービューにノードを作成します。あなたは、メッセージが開始と終了メッセージに同じである、ブロックはネストすることができることを確認する必要があり

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

do work 

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

:PowerShellで

は、次の手順を実行します。代わりにblock messageを使用することもできます。私は違いが何であるか正確には分かりませんが、同じ結果を得るように見えます:

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

do work 

write-host "##teamcity[blockClosed name='<blockName>']" 
+0

TC 8の作業。「progressStart」からのメッセージは概要ページにのみ表示されていました。 TreeViewで 'blockOpened'からのメッセージが実際に折りたたまれました –

関連する問題