Gitlab 中未显示 Plantuml 图
Plantuml diagrams not showing in Gitlab
最近我注意到 Plantuml 图停止在我们的 self-hosted Gitlab 实例中显示(仅图像占位符)。我确信它以前工作过,所以首先我检查了 Gitlab 和 Plantuml 的版本(每个 运行 在单独的机器上的单独的 Docker 容器中,具有单独的地址)如果他们需要任何更新并发现Gitlab 可能是最新的,但不是 Plantuml。所以我升级了 Plantuml 容器以确保安全。当前设置:
- GitLab 13.9
- Plantuml 20210917-1448 / 版本 1202110
什么都没有改变,仍然没有图像,所以我开始浏览网络并偶然发现了这些可能相关的页面:
- https://docs.gitlab.com/ee/administration/integration/plantuml.html
- https://github.com/plantuml/plantuml/issues/117#issuecomment-6235450160
- https://github.com/hsanson/asciidoctor-plantuml/issues/11
我检查了它是否有效,但仍然没有图像,页面上只有占位符,无论是 wiki 还是问题。我检查了 Plantuml 实例它本身是否在工作,它确实在工作,该实例正在正确渲染图像。
所以接下来我根据第一个link修改了Gitlab配置以包含gitlab_rails['env'] = { 'PLANTUML_ENCODING' => 'deflate' }
行。现在我可以看到 Plantuml 实例上的图像 link 已经从 .../plantuml/...
变成了 .../plantuml/~1...
,所以配置生效了,但是我仍然没有看到任何图表图像Gitlab,仍然只是占位符。但是,当我单击占位符时,会弹出一个正确呈现图表图像的新选项卡。即使 copy/paste 图表的 hyperlink 地址进入新的浏览器选项卡也能正常工作,令人惊讶的是(对我来说)无论有没有 url ~1
header ].
我错过了什么?当 Plantuml 实例(显然)正常工作时,为什么 Gitlab 界面中没有显示图像?
其实我刚才才发现问题可能出在Chrome,因为Firefox正在毫不费力地显示图表...
...
后来我发现原因是 Gitlab 通过 HTTPS 运行,而 Platiml 服务器通过 HTTP 提供图像。所以解决方案要么允许在 Gitlab 页面上混合内容,要么配置 Plantuml 服务器通过 HTTPS 提供图像...
最近我注意到 Plantuml 图停止在我们的 self-hosted Gitlab 实例中显示(仅图像占位符)。我确信它以前工作过,所以首先我检查了 Gitlab 和 Plantuml 的版本(每个 运行 在单独的机器上的单独的 Docker 容器中,具有单独的地址)如果他们需要任何更新并发现Gitlab 可能是最新的,但不是 Plantuml。所以我升级了 Plantuml 容器以确保安全。当前设置:
- GitLab 13.9
- Plantuml 20210917-1448 / 版本 1202110
什么都没有改变,仍然没有图像,所以我开始浏览网络并偶然发现了这些可能相关的页面:
- https://docs.gitlab.com/ee/administration/integration/plantuml.html
- https://github.com/plantuml/plantuml/issues/117#issuecomment-6235450160
- https://github.com/hsanson/asciidoctor-plantuml/issues/11
我检查了它是否有效,但仍然没有图像,页面上只有占位符,无论是 wiki 还是问题。我检查了 Plantuml 实例它本身是否在工作,它确实在工作,该实例正在正确渲染图像。
所以接下来我根据第一个link修改了Gitlab配置以包含gitlab_rails['env'] = { 'PLANTUML_ENCODING' => 'deflate' }
行。现在我可以看到 Plantuml 实例上的图像 link 已经从 .../plantuml/...
变成了 .../plantuml/~1...
,所以配置生效了,但是我仍然没有看到任何图表图像Gitlab,仍然只是占位符。但是,当我单击占位符时,会弹出一个正确呈现图表图像的新选项卡。即使 copy/paste 图表的 hyperlink 地址进入新的浏览器选项卡也能正常工作,令人惊讶的是(对我来说)无论有没有 url ~1
header ].
我错过了什么?当 Plantuml 实例(显然)正常工作时,为什么 Gitlab 界面中没有显示图像?
其实我刚才才发现问题可能出在Chrome,因为Firefox正在毫不费力地显示图表... ... 后来我发现原因是 Gitlab 通过 HTTPS 运行,而 Platiml 服务器通过 HTTP 提供图像。所以解决方案要么允许在 Gitlab 页面上混合内容,要么配置 Plantuml 服务器通过 HTTPS 提供图像...