jenkins BlueOcean修复Pipeline不支持中文的问题
问题
在Jenkins的BlueOcean中,修改Pipeline,结果发现,如果编写过程中,凡是能导致jenkinsFile有中文信息的,点击 save and run之后 Console 中出现错误,无法保存。
分析
根据错误信息,定位到问题来源jenkins-js-extension.js,该问题和 js的btoa和atob 不支持unicode有关。
解决
- 将jenkins的
./webapps/plugins/blueocean-pipeline-editor/WEB-INF/lib/blueocean-pipeline-editor.jar
下载到本地, - 解压出jenkins-js-extension.js,搜索btoa,有两处一样的代码,搜索atob也是一样的,成对出现。
- 修改代码,将两处encode和decode修改为以下结果:
- 将修改之后的jenkins-js-extension.js拖入blueocean-pipeline-editor.jar。
- 将修改之后的blueocean-pipeline-editor.jar上传到Jenkins的原处:
./webapps/plugins/blueocean-pipeline-editor/WEB-INF/lib/blueocean-pipeline-editor.jar
var Base64 = {
encode: function encode(data) {
return btoa(unescape(encodeURIComponent(data)));
},
decode: function decode(str) {
return decodeURIComponent(escape(atob(str)));
}
};
该JS的黑魔法解决方案来自这里。
本解决方案原创,转载需要注明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!