Jenkins Blue Ocean 在现有 Jenkins 实例上初始安装后未加载

Jenkins Blue Ocean not loading after initial install on existing Jenkins instance

我刚刚在我使用多年的现有 Jenkins 实例上安装了 Blue Ocean。登录页面未加载,我收到以下错误,我未能成功找到关于 SO 或其他谷歌搜索的答案。我在 Jenkins build 2.107.3, Blue Ocean 1.6.1.

我能够成功创建新管道,但是当我返回此页面时,它从未完成加载。

有没有人遇到过这个错误,或者对如何调试它有建议?

blueocean-core-js.js:57883 Error fetching page TypeError: Cannot read property 'self' of undefined at ActivityService.bunkerKey (blueocean-core-js.js:57207) at ActivityService.setItem (blueocean-core-js.js:57250) at executeAction (blueocean-core-js.js:40729) at ActivityService.res (blueocean-core-js.js:40701) at PipelineService._this.bunkerMapper (blueocean-core-js.js:58214) at PipelineService.setItem (blueocean-core-js.js:57249) at executeAction (blueocean-core-js.js:40729) at PipelineService.res (blueocean-core-js.js:40701) at blueocean-core-js.js:57268 at Array.map (<anonymous>) at PipelineService.setItems (blueocean-core-js.js:57267) at blueocean-core-js.js:57867 at executeAction (blueocean-core-js.js:40729) at res (blueocean-core-js.js:40701)

看起来像一个直线上升的错误。

遇到这种事情的通常做法是:

  1. 导航到“已安装的插件”页面。 (管理 Jenkins > 管理插件 > 已安装选项卡)。
  2. 在右上角的过滤器文本框中输入 "Blue Ocean"(不带引号)。
  3. 单击 "Blue Ocean" 行的 "Previously installed version" 列中的 "Downgrade to x.y" 按钮。

注意:Blue Ocean 插件是所有 Blue Ocean 依赖项的父插件。这个父插件将是唯一一个启用了 Enabled 复选框的插件。取消选中此框 禁用 插件但不会卸载它。

是的 - 这是 Jenkins 的一个错误(我们肯定需要在那个 bunkerkey 函数中进行空检查)。

我能够通过删除旧版作业解决此问题,该作业使用不存在的 'LastSuccessFullBuild' 文件夹快捷方式。 (我实际上删除了整个 legacy/disabled 作业)。

您可以通过在浏览器工具中的 ActivityService.bunkerKey (blueocean-core-js.js:57207) 处放置断点并检查 'data' 对象在它抛出之前。一旦您知道有问题的工作,如果您可以删除它,您就大功告成了。否则,您可能必须 运行 it/alter 它才能生成正确的链接。

尽情享受吧!