Jenkins执行流水线项目,控制台输出中文是乱码

这篇具有很好参考价值的文章主要介绍了Jenkins执行流水线项目,控制台输出中文是乱码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

测试环境:

        操作系统:Windows 10

        Jenkins版本:Jenkins 2.375.1

问题现象:

搭建Jenkins的流水线项目,在Jenkinsfile脚本中想打印中文,运行pipeline后,在Jenkins的Console Output出现乱码

jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows

问题原因:

出现Jenkins控制台打印中文乱码问题,通常是由于编码设置不正确导致的。

解决办法:

在pycharm中将Jenkinsfile文件的的编码由UTF-8改成GBK,如下图(左),点击红框区域,把UTF-8改成GBK,然后推送至远程仓库,重新执行Jenkins中的pipeline项目后,控制台输出正常,如下图(右)。

   jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows                 jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows             ​​​​​​​

   为什么Jenkinsfile从UTF-8改成GBK编码格式后,执行pipeline控制台输出不乱码了?

        首先,UTF-8是一种通用的字符编码格式,支持包括中文在内的多种字符,而GBK是中文字符编码格式,专门用于支持中文字符。      

        其次,Jenkins使用JVM来运行Pipeline,而JVM的默认编码取决于操作系统或Jenkins启动脚本的设置。

        如果Jenkinsfile以UTF-8编码保存,而Jenkins JVM使用的是GBK编码,那么在控制台输出中文时就可能出现乱码,因为两者的编码格式不匹配。 

        如果Jenkinsfile是以GBK编码保存的,并且Jenkins JVM(file.encoding)使用的也是GBK编码,那么在控制台输出中文字符时就不会出现乱码,因为它们的编码是一致的。

        在Jenkins>Manage Jenkins>System Information界面,可以看到Jenkins JVM的编码是什么,如下图所示。

jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows

所以,针对我的问题场景,将Jenkinsfile的编码格式由UTF-8改成GBK后就可以了

为了避免控制台输出中文乱码问题,可以采取以下几种方式:

        1.将Jenkinsfile的编码格式设置为UTF-8,并确保Jenkins JVM也使用UTF-8编码。这样可以保持一致,支持更广泛的字符集,包括中文字符。

        2.将Jenkinsfile的编码格式设置为GBK,并确保Jenkins JVM也使用GBK编码。这样也可以保持一致,但注意使用GBK编码可能会限制其他非中文字符的支持。

        3.如果需要同时支持多种字符集,可以将Jenkins JVM的编码设置为UTF-8,并将Jenkinsfile的编码格式也设置为UTF-8。这样可以保持一致,并支持更广泛的字符集。

        综上所述,为了避免中文控制台输出乱码,确保Jenkinsfile的编码格式和Jenkins JVM的编码格式保持一致即可。通常情况下,使用UTF-8编码是较为常见和推荐的做法,因为它支持更广泛的字符集。

——————————————————————————————————————————
以下是ChatGPT提供的解决的思路,尝试修改配置,但没有解决我的问题,仅供其他场景参考!

1.设置Jenkins编码: 登录到Jenkins并导航到Jenkins的全局配置页面。在“Global properties”部分,添加一个新的环境变量,将名称设置为JAVA_TOOL_OPTIONS,并将值设置为-Dfile.encoding=UTF8。保存配置后,重启Jenkins服务,并重新运行流水线,看看是否解决了中文乱码问题。

jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows

2.修改Jenkins启动脚本: 在Jenkins的启动脚本中,添加-Dfile.encoding=UTF8来设置Jenkins的编码。具体操作步骤可能因为不同的安装方式而有所不同。如果你是通过war包运行Jenkins,可以修改启动命令为类似以下形式:

java java -Dfile.encoding=UTF8 -jar jenkins.war

3.检查系统编码: 确保运行Jenkins的系统编码设置是正确的。在Windows系统中,可以通过控制面板的“区域设置”来检查系统的编码设置。确保它设置为UTF-8 或者兼容 UTF-8 的编码。

jenkins控制台输出中文乱码,Jenkins,jenkins,运维,python,windows

4.检查终端编码: 如果你是通过远程终端连接到Jenkins主机并运行流水线,确保终端的编码设置也是UTF-8。

尝试上述方法后,重新运行流水线,看看是否解决了中文乱码问题。如果问题仍然存在,你可能需要进一步检查Jenkins的配置和系统编码设置,确保它们都正确地支持UTF-8 编码,以便在控制台正确地显示中文字符。文章来源地址https://www.toymoban.com/news/detail-735151.html

到了这里,关于Jenkins执行流水线项目,控制台输出中文是乱码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jenkins流水线

    1、 二、 三、 四、 五、 六、  

    2024年02月05日
    浏览(57)
  • Jenkins流水线怎么做?

    问CHAT:Jenkins流水线怎么做? CHAT回复:Jenkins流水线是一种创建、测试和部署应用程序的方法。以下是为Jenkins创建流水线的步骤: 1. 安装Jenkins:首先你需要在你的服务器上安装Jenkins。这个过程可能会根据你的操作系统有所不同。 2. 安装必要的插件:为了使流水线工作,你需

    2024年01月24日
    浏览(55)
  • 【Jenkins】pipeline流水线

    流水线既能作为任务的本身,也能作为jenkinsfile,使用流水线可以让我们的任务从ui手动操作,转换为代码化,像docker的dockerfile一样,从shell命令到配置文件,更适合大型项目,可以让团队其他开发者同事参与进来,同时也可以编辑开发jenkinswebui不能完成的复杂的构建逻辑,作

    2024年02月09日
    浏览(75)
  • Jenkins的流水线详解

    来源:u.kubeinfo.cn/ozoxBB 什么是流水线 声明式流水线 Jenkinsfile 的使用 jenkins 有 2 种流水线分为 声明式流水线 与 脚本化流水线 ,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。 声明式流水线 在声明式流水线语

    2024年02月11日
    浏览(48)
  • Jenkins 流水线多阶段构建

    Jenkins流水线配置遇到 无法识别的。需要使用 自定义环境 项。 比如官网的在流水线中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 28: Invalid agent type “

    2024年04月22日
    浏览(38)
  • Jenkins-流水线-保姆级教程

    目录 一、Jenkins 是什么? 二、安装方式 2.1 下载并运行 Jenkins  三、什么是流水线 3.1概述 3.2声明式流水线 3.3脚本化流水线 四、声明式流水线 4.1 Sections代码区域块 4.1.1Agent指令 4.1.2agent 的配置示例 4.1.3Post代码块 4.1.4.sepes代码块 五、Jenkinsfile的使用 5.1环境变量 5.1.1静态变量

    2024年02月01日
    浏览(48)
  • 【Jenkins】Jenkins构建后端流水线

    xxxx后端-后端cim服务测试环境-项目构建 创建人:创建者姓名 时间:创建时间 保持构建天数:2 保持最大构建个数:3 ①clean:清楚之前;package:打包 -Dmaven.test.skip=true:跳过测试;-U:强制让Maven检查所有SNAPSHOT依赖更新 这里的pom.xml文件注意: Branches to build:分支某个环境的

    2024年02月12日
    浏览(54)
  • Jenkins部署Docker与Jenkins流水线

    接上篇 1. 外挂文件的方式在docker容器中启动 2. 将构建运行放入docker容器中(不构建镜像) 修改Jenkins构建前设置 修改部署后操作 重新构建,已经成功构建在容器中 3. 将构建运行放入docker镜像中(采用dockerfile) 1.编写dockerfile,放入项目中, 注意不能和依赖的包同级 写好可

    2024年01月22日
    浏览(55)
  • jenkins流水线实现xjar加固

    xjar的定义 功能特性 xjar使用 修改项目中的pom.xml,一般都是开发改 jenkins流水线配置 查看jenkins工作目录 远端服务器配置–☞需要授权的服务器 获取授权服务器信息 执行脚本 脚本内容, 1.判断镜像是否存在 2.把xjar.go解压,需要有go环境 3.制作镜像,然后把镜像制作成tar包

    2024年02月07日
    浏览(59)
  • docker中的jenkins之流水线构建

    创建两个参数,一个是宿主端口号,一个是docker中的端口号 其中 Dsonar.host.url=http://docker.for.mac.host.internal:9000’ 主要是docker中的jenkins访问docker中的sonarQube,详情可以看我另外推文:https://blog.csdn.net/weixin_48319193/article/details/132124664?spm=1001.2014.3001.5501 填写端口号 启动 sonarQube成功

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包