如何根据构建和测试结果动态更新github上的盾牌?

时间:2017-04-19 10:08:35

标签: jenkins github continuous-integration shields.io

我在github上列出了一个项目,我想设置一个CI和自动化测试系统,其中下面的徽章会自动发布为对pull请求的注释,以便我可以决定提交的代码的质量及其影响:

Travis

我遇到了一个名为shields.io的类似且不错的服务,他们提供了.svg个图标。因此,渲染也将是完美的。

现在,我很困惑如何根据我的计划整合这个东西。据我所知,徽章是指向某些服务器的简单链接,服务器为这些图像提供服务。我需要发布的是在即将到来的请求的评论部分中指向这些徽章的链接。

所以,我可以做的是我可以在某个端口上创建自己的服务器并将URL发布到我的服务器(对应于每个图标)作为github pull请求的注释,Github将只显示这些徽章。因此,对于每个徽章,我将有一个URL到我的服务器。

但我将如何管理像

这样的图标

Jenkins coverage

  1. 对于0到100%,我应该在我的服务器上创建100个这样的文件吗?
  2. 或者我的方法不正确?如果是,请建议更好的方式或其他方式在生产环境中做什么?

1 个答案:

答案 0 :(得分:0)

我建议您看一下anybadge。您可以以编程方式生成徽章,设置自定义阈值以根据结果选择颜色或设置固定颜色。这是一个小型的轻量级python应用程序,它使事情保持简单。您可以生成SVG文本并将其直接嵌入到您的帖子中。

我使用此软件包的主要原因是因为我的生产服务器没有外部Internet访问,却是防火墙,而且我不能(也不想)点击外部URL来生成徽章。

如果您要运行自己的服务器,也可以这样做。 pip安装后,您可以运行anybadge-server来运行本地网络服务器。

> anybadge-server
2020-03-20 08:39:09,434 INFO:anybadge_server.py(154):main: Starting up anybadge server.
2020-03-20 08:39:09,441 INFO:anybadge_server.py(112):run: Serving at: http://localhost:8000

anybadge web server

结果是:

example badge