GitLab配置问题:如何让工件中的HTML报告在新标签页打开而非自动下载
GitLab配置问题:如何让工件中的HTML报告在新标签页打开而非自动下载
嗨,我来帮你搞定这个问题!你遇到的情况其实是GitLab对raw类型的工件链接的默认行为导致的——当你用raw路径访问HTML文件时,GitLab会把它当作附件返回,浏览器自然就触发下载了,而不是直接打开。
解决核心:换用正确的工件链接格式
你需要把原来的raw路径换成file路径,这个路径是GitLab专门用来在界面内(或新标签页)打开工件文件的,不会触发下载。
原来的HTML报告链接:
https://gitlab.com/GROUP/PROJECT/-/jobs/artifacts/master/raw/pylint/index.html?job=pylint
替换后的正确链接:
https://gitlab.com/GROUP/PROJECT/-/jobs/artifacts/master/file/pylint/index.html?job=pylint
不同场景下的写法
接下来根据你使用的地方调整链接的写法,确保它在新标签页打开:
1. Markdown文档(比如README.md)
你可以用HTML的<a>标签强制设置在新标签页打开,GitLab的Markdown支持这种写法:
<a href="https://gitlab.com/GROUP/PROJECT/-/jobs/artifacts/master/file/pylint/index.html?job=pylint" target="_blank">查看Pylint HTML报告</a>
2. RST格式文档
在RST里需要用raw:: html块来嵌入HTML链接:
.. raw:: html <a href="https://gitlab.com/GROUP/PROJECT/-/jobs/artifacts/master/file/pylint/index.html?job=pylint" target="_blank">查看Pylint HTML报告</a>
3. 项目主页的徽章链接
在项目主页设置徽章的跳转链接时,直接填入上面的file格式链接,并且确保在GitLab的徽章设置里勾选“在新标签页打开”(如果有这个选项的话),或者用上面的HTML写法(如果支持的话)。
你的CI配置参考
顺便把你当前的pylint CI配置贴出来,方便其他遇到同样问题的人参考:
pylint: stage: test script: - pip install pylint-gitlab pylint-exit anybadge - mkdir pylint - pylint --output-format=text pyswgo | tee pylint/pylint.log || pylint-exit $? - PYLINT_SCORE=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' pylint/pylint.log) - pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter pyswgo > codeclimate.json - pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter pyswgo > pylint/index.html - anybadge --label=Pylint --file=pylint/pylint.svg --value=$PYLINT_SCORE 2=red 4=orange 8=yellow 10=green - echo "Pylint score is $PYLINT_SCORE" artifacts: expose_as: "Pylint artifacts" paths: - pylint reports: codequality: codeclimate.json when: always
备注:内容来源于stack exchange,提问作者Michele Peresano
相关产品推荐
相关产品推荐

