Jenkins控制台输出有来自grunt命令[31m[[39m.

9wbgstp7  于 2023-10-17  发布在  Jenkins
关注(0)|答案(6)|浏览(145)

我使用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.

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

r1zhe5dt

r1zhe5dt1#

看上去像是颜色转义序列。查看是否可以将--no-color这样的参数传递给命令(如果工具支持,请参阅this),或者查看AnsiColor plugin

hiz5n14c

hiz5n14c2#

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

jum4pzuy

jum4pzuy3#

对我有用的是...

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

-Dsbt.log.noformat=true抑制了我的Play 2.1.1版本上控制台输出的彩色化,使Jenkins上的控制台日志可读。现在,如何以一种不太XML的方式获得测试结果?

ar7v8xwq

ar7v8xwq4#

如果你可以在Jenkins中安装插件,有一个更好的选择。只需安装AnsiColor插件并将其添加到Jenkinsfile:

options {    
  ansiColor('xterm')
}

现在,您不仅消除了烦人的字符,而且还在输出中添加了颜色!

brjng4g3

brjng4g35#

它看起来像着色控制命令被你的shell忽略了。就修复它而言,它可能涉及更改脚本,以便它不产生该输出。

xxhby3vn

xxhby3vn6#

我对这整个问题有不同的解决办法。事实上,上面列出的建议没有一个对我有用。我使用了两种类型的奴隶:CentOS和Ubuntu机器。由于某种原因,这个问题只影响CentOS机器,而不是Ubuntu机器。
我比较了两种类型的从站的“系统信息”,发现文件.encoding在CentOS主机上设置为ANSI_X3.4-1968。这是默认设置。Ubuntu的默认值是UTF-8
因此,用高级JVM选项-Dfile.encoding=UTF-8重新启动从服务器就可以了,而不需要抑制mocha的颜色。

相关问题