2016-01-28 49 views
2

Short:
如何獲取從Jenkins運行的MSBuild的顏色。Jenkins + Python + MSBuild =否ANSI顏色

長:
我有一個很好的Python構建腳本,它使用pyColors模塊向控制檯輸出漂亮的輸出。當我從CMD運行腳本時,從腳本和MSBuild的顏色(例如:「完成構建項目」爲藍色,「構建成功」爲綠色,錯誤爲紅色)中獲取顏色。
我也從Jenkins運行相同的腳本(當然,在Windows上)。在乞討中,Jenkins日誌中沒有任何顏色(控制檯輸出)。然後,我安裝了ANSIColor插件,現在我只能得到由Python腳本生成的顏色,但沒有來自MSBuild的顏色。
我試圖從GitHub上的MSBuild項目中調查它,並且我發現MSBuild在設置顏色方面有一些安全的try/ctach檢查,可能會失敗(BaseConsoleLogger.cs,第455行)。我認爲Python模塊只是打印原始ANSI轉義字符,而用於設置顏色的Win32 API在控制檯輸出重定向時失敗。

P.S.
我在Windows 8上使用完全更新的Jenkins與Visual Studio 2015 SP1

+0

您是否在尋找類似於日誌解析器插件(https://wiki.jenkins-ci.org/display/JENKINS/日誌分析器+ +插件)? – stijn

+0

不。我正在尋找有助於在輸出日誌中查找事物的MSBuild原始顏色。我也使用Log Parser Plugin,但是出於其他原因。 – Pagefault

+1

嗯,我已經在GitHub上打開了一個MSBuild的pull請求,可以給我我想要的[link](https://github.com/Microsoft/msbuild/pull/458)。現在我只需要希望他們能夠合併它,即使我沒有經歷首先創建問題的過程。 – Pagefault

回答