我正在使用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。
答案 0 :(得分:25)
那些看起来像颜色转义序列。看看你是否可以将--no-color
之类的参数传递给命令(如果该工具支持它,请参见this)或查看AnsiColor plugin
答案 1 :(得分:6)
或者,如果您喜欢颜色,可以使用Jenkins AnsiColor Plugin在构建日志中正确显示颜色转义序列。
答案 2 :(得分:1)
对我有用的是......
play -Dsbt.log.noformat=true clean compile test dist
-Dsbt.log.noformat = true抑制了Play 2.1.1版本中控制台输出的着色,使得控制台登录Jenkins可读。现在,如何以较少的XML方式获得测试结果?
答案 3 :(得分:0)
它看起来像是由shell忽略的着色控制命令。在修复它方面,可能涉及更改脚本以使其不产生该输出。
答案 4 :(得分:0)
我对整个问题有不同的解决方案。事实上,上面列出的建议都没有对我有用。我使用两种类型的奴隶:CentOS和Ubuntu机器。出于某种原因,问题只影响CentOS机器,而不是Ubuntu机器。
我比较了两种类型奴隶的“系统信息”,我发现在CentOS主机上设置了{。{1}}。这是默认值。 Ubuntu默认值为ANSI_X3.4-1968
。
因此,使用高级JVM选项UTF-8
重新启动从属设备可以完成这一操作,而无需抑制mocha的颜色。