欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

程序员文章站 2022-07-06 18:26:00
一、问题描述:在linux环境centos操作系统下,通过docker下载jenkins镜像后创建了容器,并且通过服务器ip+端口访问jenkins地址,进行相关的配置,然后创建任务job来构建跑ja...

一、问题描述:

在linux环境centos操作系统下,通过docker下载jenkins镜像后创建了容器,并且通过服务器ip+端口访问jenkins地址,进行相关的配置,然后创建任务job来构建跑java+selenium自动化测试脚本,目前构建success,唯一不足之处是打印的日志出现就了乱码,如下图:

(备注:执行机就是jenkins本身,同一台机器)

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

二、排查jenkins设置

jenkins系统设置查看全局属性中语言部分

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

2.jenkins详细信息(浏览器jenkins地址后面加上/systeminfo)

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

三、代码log日志编码方式

1.打印的日志确认是否是utf-8,已确认是

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

四、 linux服务器语言信息

1.查看宿主机语言配置,输入命令:locale -a

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

2.查看/.vimrc

此处没敢改,因为不确会影响范围,只是在csdn找的文章

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

这块不是很明白,网上给出的答案是:

大概的意思是在vimrc里面encoding可同时做这几项设置:

set encoding=utf-8 set langmenu=zh_cn.utf-8 language message zh_cn.utf-8

五、终极排查

既然jenkins系统设置、宿主机的语言都已经排查,现在开始排查容器

1.进入到jenkins容器里面

docker exec -it 容器id /bin/bash

查看语言

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

然后再输入

export lc_all="c.utf-8"

在/etc/bash.bashrc里面末尾写入,然后source /etc/bash.bashrc然后发现没有vim,算了不折腾了。

lc_all实际上就是给上面的所有变量赋值,效果一样,不过试试也无妨,一般来说没有,docker本身就有完整的操作系统,跟宿主机没关系。

2.进入到chrome浏览器容器里面

set lc_all="c.utf-8"

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

3.然后jenkins系统设置修改全局属性,将之前的lang = zh_cn .utf-8改成lang = c.utf-8 原因是:目前市场上做服务器基本被centos和debian占据吧,centos依靠redhat,debian自源,centos源于红帽,各种补丁以及服务更完善些,centos做服务器也较多吧,自动化部门我没猜错的话jenkins所在的宿主机用的是debian系统不是centos,因为debian中locale是支持zh_cn.utf-8,centos支持c.utf-8

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

最后重启下jenkins服务(jenkins地址后加上/restart),然后启动任务查看jenkins控制台的日志!

Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

后记,可能是容器里面需要设置下语言,jenkins系统设置全局属性语言lang = c.utf-8有关系。

总结

以上所述是小编给大家介绍的docker环境搭建jenkins在构建任务时控制台日志出现中文乱码的问题,希望对大家有所帮助!