2012-09-20 10 views
6

Powershellでビルドログにメッセージを出力するにはどうすればよいですか?TeamCityでPowershellメッセージを認識させる

私はTeamCity 7.1を使用しています。ここで

は私のPowerShellのビルドステップである:

write-host "##teamcity[message 'Getting production info']" 

if ($LASTEXITCODE -ne 0) { 
    write-host "##teamcity[message 'Production Remote Not Found: Creating Remote']" 

    write-host "##teamcity[message 'Pushing to Remote']" 
    #git push production 

} else { 
    write-host "##teamcity[message 'write-output: Production Remote Found: Pushing to Remote']" 
    #git push production 
} 

そして、私は、ビルド・ログに取得しています唯一のものは、次のとおりです:enter image description here

スクリプトがある

[17:02:58]Skip checking for changes - changes are already collected 
[17:02:59]Publishing internal artifacts (1s) 
[17:03:00][Publishing internal artifacts] Sending build.start.properties.gz file 
[17:02:59]Clearing temporary directory: C:\BuildAgent2\temp\buildTmp 
[17:02:59]Checkout directory: C:\BuildAgent2\work\7669b6a04f96908d 
[17:02:59]Updating sources: agent side checkout 
[17:02:59][Updating sources] VCS Root: Portal Master 
[17:02:59][VCS Root: Portal Master] revision: c5c6a9a0d491ee2c64ce98e48b0d67c422237698 
[17:02:59][VCS Root: Portal Master] Resetting Portal Master in C:\BuildAgent2\work\7669b6a04f96908d to revision c5c6a9a0d491ee2c64ce98e48b0d67c422237698 
[17:02:59]Starting: C:\Windows\sysnative\cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -File C:\BuildAgent2\temp\buildTmp\powershell1349912883332714566.ps1 
[17:02:59]in directory: C:\BuildAgent2\work\7669b6a04f96908d 
[17:03:00] 
[17:03:00] 
[17:03:00] 
[17:03:00]Process exited with code 0 
[17:03:00]Publishing internal artifacts 
[17:03:00][Publishing internal artifacts] Sending build.finish.properties.gz file 
[17:03:00]Build finished 

答えて

14

で説明したようにdocumentation "message"サービスメッセージは複数の引数を持つことができるので、少なくとも引数 'text'を指定する必要があります。"##teamcity[message text='Getting production info']"

スクリプトは

write-host "##teamcity[message text='Getting production info']" 

if ($LASTEXITCODE -ne 0) { 
    write-host "##teamcity[message text='Production Remote Not Found: Creating Remote']" 

    write-host "##teamcity[message text='Pushing to Remote']" 
    #git push production 

} else { 
    write-host "##teamcity[message text='write-output: Production Remote Found: Pushing to Remote']" 
    #git push production 
} 
+1

1 @JoeYoung私はちょうど(http://confluence.jetbrains.com/display/TCD8/Build [ドキュメント]によると、しかし、この1で刺されてしまっただろう+ Script + Interaction + + TeamCity#BuildScriptInteraction withTeamCity-ServiceMessages)あなたは明示的に 'text'属性を定義する必要はありません。これは*単一の属性メッセージ*として扱われ、うまくいくはずです。しかし、それはしませんし、 'テキスト'を使用してトリックを行います。 – James

関連する問題