首页 > 其他分享 >升级Jenkins至2.426.3后,项目名称带有中文的无法在节点机上运行

升级Jenkins至2.426.3后,项目名称带有中文的无法在节点机上运行

时间:2024-03-02 19:33:22浏览次数:26  
标签:2.426 节点机 jnu encoding sun 版本 Jenkins

之前在AlmaLinux上安装了2.356版本的Jenkins(Jenkins从Ubuntu迁移至AlmaLinux问题及相关解决记录),但最近由于爆出安全漏洞(https://www.jenkins.io/security/advisory/2024-01-24/),因此将Jenkins升级至最新的2.426.3版本,完成后发现之前已经解决的节点机不支持中文项目名称的问题又出现了。

2.356版本是最后一个支持jdk 8的版本,后续版本都需要至少jdk 11才能启动节点机,之前,我在节点机的JVM选项中设置了-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8,其中sun.jnu.encoding能解决中文项目名称报错的问题,但使用jdk 11后,发现节点机启动后,sun.jnu.encoding属性依旧是ANSI_X3.4-1968,JVM选项不生效。

在查找相关文档(https://github.com/AdoptOpenJDK/openjdk-docker/issues/105)后,发现问题原因是,在JDK 8之后的某个版本中,官方移除了对sun.jnu.encoding命令行参数的支持,完全以OS设置为准,因此-Dsun.jnu.encoding=UTF8不再生效,而解决方案是在启动前设置环境变量(节点机启动不会读取用户自己设置的环境变量,只有默认值),将编码指定为UTF-8。注意到节点机配置中有一条Prefix Start Agent Command,将其设置为export LC_ALL=en_US.UTF-8 && ,这条命令会拼接在启动remoting.jar之前执行,使sun.jnu.encoding被正确设置为UTF-8。

标签:2.426,节点机,jnu,encoding,sun,版本,Jenkins
From: https://www.cnblogs.com/soultraitor/p/18049109

相关文章

  • jenkins循序渐进
    pipeline流水线jenkinsfile_dockerpipeline{agent{docker{image'cdp_build:1.8.0_211-maven_3.5.4'args'-v/opt/workspace/m2:/data/lib-v/opt/workspace/deploy/dev:/deploy-v/root/.ssh:/root/.ssh�......
  • 学习python自动化——Jenkins
    一、Jenkins概念持续集成,就是CI;持续交付,就是CDjenkins自动编译打包、自动部署二、持续集成的好处1.解放了重复性劳动2.更快的修复问题3.更快的交付成果4.减少手工的错误,人和机器最大的区别就是重复性动作上,人容易犯错,而机器错的几率几乎为零,所以在我们搭建完成集成服务器后......
  • 学习python自动化——pytest+allure+jenkins持续集成平台生成allure报告
    一、安装allure命令行工具具体安装过程查看:学习python自动化——pytest单元测试框架的2.4.4、生成allure的测试文件二、allure与pytest的集成在allure安装完成之后,需要与pytest集成,能够在pytest运行完成之后,生成allure的文件。1、安装pytest的allure支撑插件pipinstal......
  • Jenkins 远程触发 403 No valid crumb was included in the request
    Jenkins使用curl执行远程触发命令,会报403错误打开如下图  系统管理-》scriptConsole在下面脚本命令行中输入hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true  查看-》系统管理-》全局安全配置 最后,请求成功 翻译搜......
  • Jenkins插件开发遇到的问题
    创建模板问题很多教程都是使用这个命令去创建Jenkins插件项目mvn-Uarchetype:generate-Dfilter=io.jenkins.archetypes:我使用这个命令,会报archetype不存在[WARNING]Noarchetypefoundinremotecatalog.Defaultingtointernalcatalog可以使用官方提供的非互动式......
  • Jenkins共享库使用
    简单使用共享库(Sharedlibraries)是一种可以用来封装函数、变量甚至整个Pipeline的机制。通过共享库,可以将常用的功能和流程逻辑定义在单独的Groovy脚本中,然后在多个Pipeline中重复使用,从而实现代码重用和统一管理比如说复用这个转成json的方法//tool.groovyimportgroov......
  • Jenkins流水线使用@Grab 导入Maven库
    有个需求需要在pipeline中调用Java的SDK去执行业务使用@Grab注解可以在Maven中导入Java库,@Grab('org.apache.commons:commons-math3:3.4.1')importorg.apache.commons.math3.primes.Primes引入依赖后,在通过import导入另外的写法@Grab(group='org.springframework',mod......
  • Jenkins下载插件报错
    只要看日志报了什么错下载超时更新代理源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json报unabletofindvalidcertificationpathtorequestedtarget需要ssl认证,两种解决办法跳过ssl检查https://mirrors.tuna.tsinghua.edu.cn/jenkin......
  • Kubernetes配合Jenkins实现轻量自动持续集成
    Kubernetes配合Jenkins实现轻量自动持续集成原创 王先森sec 王先森Sec 2024-02-1913:16 北京 听全文这是一个分享运维,DevOps,安全等知识的微信公众号。王先森Sec王先森Sec分享运维,DevOps,安全等知识。23篇原创内容公众号背景介绍在当今的软件开......
  • Jenkins数据迁移
    Jenkins需要从一台主机换到另外一台主机怎么迁移数据两台主机的Jenkins版本需要保持一致安装Jenkins#sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat-stable/jenkins.repo#sudorpm--importhttps://pkg.jenkins.io/redhat-stable/jenkins.i......