本文将详细解释詹金斯构建Docker环境时如何处理控制台日志中的中文乱码。桂哥网络觉得挺实用的,分享一下供参考。希望你看完这篇文章能有所收获。
一、问题描述:
在Linux环境下的Centos操作系统下,通过Docker下载Jenkins镜像后,创建一个容器,通过服务器IP端口访问Jenkins地址,并进行相关配置,然后创建任务作业,构建运行java selenium的自动测试脚本。目前,构建Success的唯一缺点是打印日志出现乱码,如下图所示:(注:执行机是詹金斯本身,同一个机器)
二、排查Jenkins设置
詹金斯系统设置查看全局属性中的语言部分
2.詹金斯详细信息(浏览器詹金斯地址后跟/systemInfo)
三、代码log日志编码方式
1.打印日志确认是不是是utf-8,确认是
四、 Linux服务器语言信息
1.检查主机语言配置并输入命令:locale -a a。
2.检查/。配置文件
我没敢在这里改,因为不影响范围,只是我在CSDN找到的文章
这一块不是很清楚。网上给出的答案是:
https://blog.csdn.net/u010189459/article/details/38338735
这大致意味着编码可以在vimrc中同时进行这些设置:
set encoding=utf-8 set lang menu=zh _ CN。UTF-8种语言信息。UTF-8
五、终极排查
由于已经检查了詹金斯系统设置和主机语言,现在检查容器1.进入詹金斯集装箱
容器标识/绑定/bash视图语言
然后再次输入
出口信用证=' UTF到岸价-8 '
写在/etc/bash.bashrc末尾,然后source /etc/bash.bashrc,发现没有vim,那就算了。
其实lc_all就是给上面所有变量赋值,效果都一样,不过试试也无妨。一般来说,docker有完整的操作系统,与主机无关。
2.进入Chrome浏览器容器
设置LC _ ALL=' UTF中心-8 '
3.然后Jenkins系统设置并修改全局属性,改变之前的LANG=zh_CN。UTF 8比郎=C . UTF 8。原因是:centos和debian目前在市场上基本占据服务器。centos依赖redhat,debian来自自身,centos来自Red Hat。各种补丁和服务更完善,centos做的更服务器如果我没猜错的话在自动化部门,詹金斯的主机用的是debian系统而不是centos,因为debian中的locale支持zh_CN。UTF-8,centos支持c.utf-8。
最后,重新启动jenkins服务(jenkins地址后跟/restart),然后启动任务查看jenkins控制台日志!
Postscript,可能是需要在容器中设置语言,詹金斯系统设置全局属性语言LANG=C.UTF-8。
本文是关于“詹金斯在Docker环境下构建任务时如何处理控制台日志中的中文乱码”。希望以上内容能对大家有一定的帮助,让大家学到更多的知识。如果你觉得文章好,请分享给更多人看。