Jenkins控制台中乱码问题
于服务器环境及应用层各版本的不同、编码方式的不同因此会有很多种情况会出现乱码问题。 由于Jenkins中的job运行的是独立的一个shell环境,许多的环境变量与服务器中是不一样的,因此在job中执行的命令也就会有所差异。 因此可以在job中执行env命令,同时在服务器中执行env命令查看环境的异同点。 对于Jenkins中乱码问题,首先,确保Jenkins的容器如Glassfish,Tomcat的编码是正确的,已设置成如UTF-8编码。
若还有乱码,做如下尝试:
系统管理——系统设置,添加编码环境变量
言而总之:
控制台乱码原因在于服务器上的log文件编码非UTF-8
例如可以先查看当前job下builds/lastSuccessfulBuild/log 日志文件的编码方式
# file log //查看log编码方式
再查看jenkins中系统管理——系统信息里file.encoding系统变量的编码
若file.encoding系统变量编码非UTF-8,则将使log文件非UTF-8,因此导致乱码
1、 设置jenkins所在服务器环境变量,右键我的电脑→属性→高级系统设置→环境变量,添加JAVA_TOOL_OPTIONS
2、修改Tomcat配置,进入apache_tomcat/conf文件夹下,编辑server.xml,在Connector port="8080"后面加入useBodyEncodingForURI="true"
3、启动tomcat,运行jenkins,进入系统管理→系统设置,在全局属性处勾选Environment variables,添加编码环境变量LANG=zh_CN.UTF-8
Jenkins控制台中乱码问题
|