2016-01-28 143 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

回答