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

细节是魔鬼。

神在细节之中。

相关推荐
事圆则缓6 小时前
Android 使用 Jenkins 实现 CI/CD,并用 SonarQube 建立质量门禁
android·ci/cd·jenkins
liangshanbo12152 天前
面试题:AI 对话上下文超限怎么办?
面试·webpack·devops
Zhou1411364 天前
CICD_01_持续集成与Jenkins入门
运维·ci/cd·jenkins
大貔貅喝啤酒4 天前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea
海海不掉头发5 天前
软件项目管理学习笔记-从软件危机到敏捷与DevOps
笔记·学习·devops
效率工作实验室5 天前
AI Agent 管理平台如何与现有 DevOps 和 ITSM 体系集成?
ai·agent·devops·集成·管理平台
极小狐5 天前
CI 作业里 kubectl 连不上集群?用 Kubernetes Agent 打通部署链路的 7 个步骤
ci/cd·kubernetes·gitlab·devops·k8s部署
天天喝旺仔5 天前
CI/CD 实战:GitHub Actions 自动化构建、测试与发布流水线
ci/cd·自动化·github·devops·持续集成
小稀土1235 天前
内网私有化部署 DevOps 软件落地指南:8 个坑、6 个步骤,一次讲清
devops
guo_wen_qiang5 天前
jenkins流水线参数化配置
运维·docker·容器·jenkins·持续部署