以下是项目的示例:
https://github.com/storm-enroute/macrogl
此项目的README.md
包含来自其他地方服务器上的Jenkins的构建状态图像:
[![Build Status](https://ci.storm-enroute.com:8080/job/public-macrogl/badge/icon)](https://ci.storm-enroute.com:8080/job/public-macrogl/)
此图像在Stackoverflow和Github静态页面中完美呈现,但在Github网站上,它被缓存到名为Fastly的内容传送网络。打开图片网址会显示“未找到”。
为什么会这样?
如何让Github网页界面正确显示这样的图像?
答案 0 :(得分:1)
如何让Github网页界面正确显示这样的图像?
语法正确。
其他一些项目会利用此类功能(例如,请参阅 LibGit2Sharp Readme 或 libgit2 Readme )。
为什么会这样?
几秒钟前,https://ci.storm-enroute.com:8080/job/public-macrogl/badge/icon正在为我返回404。它现在看起来已修复。
但是,当CI服务器离线/无法访问时,404可能会被 Camo 暂时缓存并提供,直到缓存过期。
答案 1 :(得分:0)
安装来自以下网址的嵌入式构建状态的jenkins插件:https://plugins.jenkins.io/embeddable-build-status
在README.md中添加您想要的标签:
纯链接(带视图)
http://URL:8080/buildStatus/icon?job=JOB_NAME
普通链接(无视图)
http://URL:8080/buildStatus/icon?job=JOB_NAME
Markdown(有视图)
Build Status http://URL:8080/buildStatus/icon?job=JOB_NAME
Markdown(无视图)
Build Status http://URL:8080/buildStatus/icon?job=JOB_NAME
3.配置jenkins安全性以允许状态视图: 管理Jenkins - >配置安全性 - >授权 - >选择基于矩阵的安全性并检查匿名用户的“ViewStatus”框。 如果管理员用户不在那里,请添加它并授予所有框的权限。
答案 2 :(得分:0)
对于其他人,在此方面花费的时间超出预期,并希望在安装Emeddable Build Status插件后要清楚使用哪些链接:
如果您导航到Jenkins的工作(jenkins_home >>仓库>>项目>>分支),那么您可以在左侧窗格中单击“可编辑的构建状态”小部件,它会显示列表中确切的链接您可以将其用于特定工作。
以下URL结构也可能使您进入可嵌入的构建状态页面:
https://
更新:我遇到了类似的问题。事实证明,缓存服务器要求将映像托管在HTTPS后面,并具有完全有效的SSL证书链(CA +证书)。服务器提供完整的证书链后,github将显示您的徽章。