一、问题描述:
在Linux环境Centos操作系统下,通过Docker下载Jenkins镜像后创建了容器,并且通过服务器IP+端口访问Jenkins地址,进行相关的配置,然后创建任务job来构建跑java+selenium自动化测试脚本,目前构建Success,唯一不足之处是打印的日志出现就了乱码,如下图:
(备注:执行机就是jenkins本身,同一台机器)
二、排查Jenkins设置
Jenkins系统设置查看全局属性中语言部分
2.Jenkins详细信息(浏览器Jenkins地址后面加上/systemInfo)
三、代码log日志编码方式
1.打印的日志确认是否是utf-8,已确认是
四、 Linux服务器语言信息
1.查看宿主机语言配置,输入命令:locale -a
2.查看/.vimrc
此处没敢改,因为不确会影响范围,只是在CSDN找的文章
这块不是很明白,网上给出的答案是:
https://blog.csdn.net/u010189459/article/details/38338735
大概的意思是在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
查看语言
然后再输入
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"
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
最后重启下jenkins服务(jenkins地址后加上/restart),然后启动任务查看jenkins控制台的日志!
后记,可能是容器里面需要设置下语言,jenkins系统设置全局属性语言LANG = C.UTF-8有关系。
总结
以上所述是小编给大家介绍的Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题,希望对大家有所帮助!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。