jenkins slave console 乱码的解决
问题描述
开发同学反馈某个android项目在jenkins上进行构建成功后,更新记录显示为乱码
#46 (2018-11-12 13:46:06) ??????????????????????????????????????????????????????????????? — / detail #44 (2018-11-9 21:01:06) ????????????????????????????????????????????????????????????????????? — weijun / detail ???????????????????????????????????????720P — / detail #43 (2018-11-9 20:46:06) ???????????????????????????????????? —
- 相关环境介绍
jenkins version:1.651 构建项目:为android 构建,采用git作为源码管理 jenkins 的master和slave服务器均为centos
故障原因的查找与分析
- 乱码一般都是跟字符集设置相关
那么按照jenkins服务器、jenkins启动环境、jenkins本身环境变量的顺序查找,发现均设置utf-8的字符集了,按道理说可以支持中文。
- 查查该项目git源码中,字符是否乱码
确认git log显示的是中文,说明确实在jenkins这块出的问题。
- 仔细检查该项目的jenkins配置
发现该项目是在slave上执行的,那么按照上面的检查顺序,确认该slave服务器上也都有utf-8的设置,继续检查slave的配置,可以看到启动该slave agent的地方有 JVM Options,于是增加 “-Dfile.encoding=UTF-8” ;在 Node Properties里面的Environment variables下面增加键“ LANG " ,值为”en_US.UTF-8“。
验证
- 配置完成重启该slave agent
- 更新该项目代码,然后重新构建该项目
- 重新查看该项目里面的更新记录,发现已经解决乱码的问题
修改记录 #57 (2018-11-12 21:31:08) 修复相册中抓拍及邮箱监控选项切换崩溃的问题 — *** / detail #56 (2018-11-12 21:01:08) 添加抓拍照片/视频相关错误码流程 — *** / detail