【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. 总结

细节是魔鬼。

神在细节之中。

相关推荐
RoyLin1 天前
你的 nginx 在扼杀 AI 服务——为什么需要重新设计流量层
人工智能·devops
henry1010102 天前
Ansible自动化运维全攻略(AI生成)
linux·运维·python·ansible·devops
海兰2 天前
Elasticsearch Java 客户端(9.x)
java·elasticsearch·jenkins
海兰2 天前
Elasticsearch 9.x Java 异步客户端
java·elasticsearch·jenkins
百锦再2 天前
Jenkins 全面精通指南:从入门到脚本大师
运维·后端·python·servlet·django·flask·jenkins
隔壁老王的代码2 天前
Jenkins的流水线详解
运维·servlet·jenkins
nice12 天前
避开Jenkins权限管理的5个大坑:从@BuildableJob宏到文件夹权限的避坑指南
jenkins·权限管理·role-based authorization strategy
云和数据.ChenGuang2 天前
jenkins安装需要多少版本的jdk
java·servlet·jenkins
linux运维客栈2 天前
Jenkins 最稳部署指南(含版本选择、Compose 部署、插件推荐)
java·servlet·jenkins
何中应3 天前
解决Jenkins界面操作非常慢的问题
java·运维·jenkins