解决Jenkins流水线任务控制台输出中文乱码问题

背景:在一次Jenkins 流水线构建任务发现,执行shell脚本时,脚本里面echo输出的中文在Jenkins控制台乱码的问题。

1. 环境

项目名版本
操作系统Ubuntu 22.04.5 LTS
Jenkins2.487

2. 控制台乱码问题现象

Pipeline 流水线中 echo 输出中文正常显示,在执行 shell 脚本时,脚本里面的 echo 输出中文乱码,如下图:

image.png|

3. 解决方式

3.1. 修改 Jenkins 全局变量

系统管理 >> 系统设置 >> 全局属性 >> 环境变量

# JAVA环境
键: JAVA_OPTS
值: -Dfile.encoding=UTF-8

# 系统环境
键: LANG
值: zh_CN.UTF-8

image.png|

3.2. 修改 Jenkins 启动参数

systemd方式启动

vim /usr/lib/systemd/system/jenkins.service

增加配置:
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8"

# 重新刷新配置并重启jenkins
systemctl daemon-reload && systemctl restart jenkins

image.png|

java方式直接启动

java -Dfile.encoding=UTF-8 -jar jenkins.war

4. 验证

  • 进入 系统管理 >> 系统信息
    找到系统属性下的 file.encoding 查看值是否为 UTF-8
    image.png|

  • 重新构建
    控制台中文正常显示

image.png|

关于我
我是一名运维工程师,专注于系统运维、自动化部署、CI/CD流水线优化等领域。拥有多年的技术积累,熟悉多种Linux发行版、容器化技术、云计算平台,以及各种DevOps工具链。如果你需要解决服务器运维、环境搭建、系统优化或其他相关问题,我可以为你提供高效、可靠的技术支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值