如何使GitHub正确显示Jenkins Build Status插件的构建状态图像

时间:2014-03-04 18:32:47

标签: github jenkins

以下是项目的示例:

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网页界面正确显示这样的图像?

3 个答案:

答案 0 :(得分:1)

  

如何让Github网页界面正确显示这样的图像?

语法正确。

其他一些项目会利用此类功能(例如,请参阅 LibGit2Sharp Readme libgit2 Readme )。

  

为什么会这样?

几秒钟前,https://ci.storm-enroute.com:8080/job/public-macrogl/badge/icon正在为我返回404。它现在看起来已修复。

但是,当CI服务器离线/无法访问时,404可能会被 Camo 暂时缓存并提供,直到缓存过期。

答案 1 :(得分:0)

  1. 安装来自以下网址的嵌入式构建状态的jenkins插件:https://plugins.jenkins.io/embeddable-build-status

  2. 在README.md中添加您想要的标签:

  3. 纯链接(带视图)

    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 >>仓库>>项目>>分支),那么您可以在左侧窗格中单击“可编辑的构建状态”小部件,它会显示列表中确切的链接您可以将其用于特定工作。

enter image description here

以下URL结构也可能使您进入可嵌入的构建状态页面:

https:// / job / / job / / job / master / badge /

更新:我遇到了类似的问题。事实证明,缓存服务器要求将映像托管在HTTPS后面,并具有完全有效的SSL证书链(CA +证书)。服务器提供完整的证书链后,github将显示您的徽章。