15

我正在使用 jenkins 运行 grunt-contrib-jshint 命令,控制台输出包含如下文本:

[31m[[39m[33mL425[39m[31m:[39m[33mC29[39m[31m][39m [33mExpected a conditional expression and instead saw an assignment.[39m

任何想法为什么?以及如何解决它。

直接运行相同的脚本会显示:

[L425:C29] Expected a conditional expression and instead saw an assignment.

我检查了设置为 MacRoman 的 file.encoding 设置,设置后export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8现在是 UTF-8。

4

5 回答 5

27

这些看起来像颜色转义序列。看看您是否可以将参数传递--no-color给命令(如果工具支持它,请查看内容),或查看AnsiColor 插件

于 2013-02-28T22:00:34.700 回答
6

或者,如果您喜欢颜色,可以使用Jenkins AnsiColor 插件在构建日志中正确显示颜色转义序列。

于 2013-08-12T08:49:56.690 回答
1

对我有用的是...

play -Dsbt.log.noformat=true clean compile test dist

-Dsbt.log.noformat=true 抑制了我的 Play 2.1.1 构建中控制台输出的着色,使 Jenkins 上的控制台日志可读。现在,如何以较少 XMLy 的方式获得测试结果?

于 2013-05-17T20:08:15.563 回答
0

它看起来像是被你的 shell 忽略的着色控制命令。在修复它方面,它可能涉及更改脚本以使其不产生该输出。

于 2013-02-28T21:59:07.160 回答
0

对于整个问题,我有不同的解决方案。事实上,上面列出的建议都没有对我有用。我使用了两种类型的从机:CentOS 和 Ubuntu 机器。由于某种原因,该问题仅影响 CentOS 机器,而不影响 Ubuntu 机器。

我比较了两种从属服务器的“系统信息”,发现 file.encoding 是ANSI_X3.4-1968在 CentOS 主机上设置的。这是默认设置。Ubuntu 默认是UTF-8.

因此,使用高级 JVM 选项重新启动从服务器就可以-Dfile.encoding=UTF-8了,无需抑制 mocha 的颜色。

于 2015-12-17T21:52:44.263 回答