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

细节是魔鬼。

神在细节之中。

相关推荐
测试界萧萧2 小时前
Jenkins+Allure+Pytest的持续集成
自动化测试·软件测试·功能测试·程序人生·ci/cd·jenkins·pytest
YongCheng_Liang2 天前
ELK 自动化部署脚本解析
linux·运维·elk·jenkins
勇往直前plus2 天前
ElasticSearch详解(篇二)
大数据·elasticsearch·jenkins
小坏讲微服务2 天前
Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志
运维·后端·elk·spring cloud·jenkins
勇往直前plus3 天前
ElasticSearch详解(篇一)
大数据·elasticsearch·jenkins
竹君子3 天前
研发管理知识库(12)阿里“云效”使用方案简介
devops
一念一花一世界3 天前
Jenkins VS GitLab CI/CD VS Arbess,CI/CD工具选型指南
ci/cd·gitlab·jenkins·arbess
慧都小项3 天前
UML建模工具Enterprise Architect在DevOps中如何实现架构模型同步
devops·sparx ea·架构模型同步
茄菲猫的往事3 天前
拒绝繁杂,一款轻量,极致简洁的开源DevOps平台 - TikLab
devops·开源devops
一念一花一世界4 天前
Jenkins和Arbess,开源免费CI/CD工具选型指南
ci/cd·jenkins·arbess