【DEVOPS】Jenkins使用问题 - 控制台输出乱码

0. 目录

    • [1. 问题描述](#1. 问题描述)
    • [2. 解决方案](#2. 解决方案)
    • [3. 最终效果](#3. 最终效果)
    • [4. 总结](#4. 总结)

1. 问题描述

部门内部对于Jenkins的使用采取的是Master + Slave Work Node的方式,即作为Master节点的Jenkins只负责任务调度,具体的操作由对应的Slave Work Node去执行。

最近团队成员反馈一个问题:一个Linux系统的Slave Work Node的编译日志输出中,中文部分均为乱码(如下图),这造成问题排查效率不高。

针对以上问题,我们尝试了:

  1. 在Jenkins的Pipeline脚本中设置LC_ALL = 'en_US.UTF-8'
  2. 确认作为Master节点的Jenkins服务端的启动参数中存在-Dfile.encoding=UTF-8
  3. 确认目标机器Slave Work Node的系统环境变量echo $LANG / locale
  4. 确认作为Master节点的Jenkins服务端的系统环境变量echo $LANG / locale
  5. 在Jenkins的Script Console中设置 System.setProperty('hudson.console.ConsoleCharset', 'UTF-8')

无一例外,全部失败了。

2. 解决方案

这里先说解决方案。毕竟能够找到这里的,肯定是上面提到的常规方式都尝试失败了。

其实事后回顾,此时此刻就只剩下最后一种可能:作为agent的java程序remoting.jar自身的编码不对劲

  1. 确定问题。

  2. 调整。

  3. 验证配置生效。
    重启agent 之后,应该如下图:

修改前后,Slave Work Node上agent命令参数行对比:

3. 最终效果

4. 总结

细节是魔鬼。

神在细节之中。

相关推荐
e***28298 小时前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
Mr_sun.13 小时前
Day09——ElasticSearch讲义-复合查询
大数据·elasticsearch·jenkins
测试界萧萧1 天前
Jenkins+Allure+Pytest的持续集成
自动化测试·软件测试·功能测试·程序人生·ci/cd·jenkins·pytest
YongCheng_Liang3 天前
ELK 自动化部署脚本解析
linux·运维·elk·jenkins
勇往直前plus3 天前
ElasticSearch详解(篇二)
大数据·elasticsearch·jenkins
小坏讲微服务3 天前
Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志
运维·后端·elk·spring cloud·jenkins
勇往直前plus4 天前
ElasticSearch详解(篇一)
大数据·elasticsearch·jenkins
竹君子4 天前
研发管理知识库(12)阿里“云效”使用方案简介
devops
一念一花一世界4 天前
Jenkins VS GitLab CI/CD VS Arbess,CI/CD工具选型指南
ci/cd·gitlab·jenkins·arbess
慧都小项5 天前
UML建模工具Enterprise Architect在DevOps中如何实现架构模型同步
devops·sparx ea·架构模型同步