有没有办法在我项目的GitHub Readme.md上显示Jenkins构建状态?

我使用Jenkins运行持续集成构建。在每次提交之后,它确保在最终生成文档和发布包之前,所有内容都已编译,并执行单元和集成测试。

仍然存在无意中提交一些破坏构建的内容的风险。对于访问GitHub项目页面的用户来说,知道当前主程序处于该状态是很好的。


当前回答

如果你在Jenkins上安装了Github插件,你可以在Post build操作中这样做:

其他回答

这个插件应该可以工作:https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin

您应该能够将这样的徽章嵌入到README中。md文件:

我按照亚历克斯的指示做了,而且成功了。

但是,对于GitHub企业,在将服务器添加到Jenkins时需要修改API URL。

例如,如果您的公司是creditcard.com,您的URL将是

https://github.creditcard.com/api/v3/

在README中添加以下行。md,并根据您的jenkins项目更改两个URL。

[![Build Status](https://jenkins../..project/lastBuild/buildStatus)](https://jenkins../..project/lastBuild/)

与此同时,Jenkins和GitHub的UI发生了一些变化,我花了一段时间才弄清楚如何正确配置Jenkins。这里的解释基于Jenkins版本2.121.1。

我还假设你已经配置了你的Jenkins作业由网络钩子或轮询触发。 以下是我为让它运转起来所采取的步骤:

配置Github:创建个人访问令牌与OAuth范围repo:状态 配置Jenkins:配置系统并添加OAuth秘密作为GitHub服务器-使用秘密文本作为身份验证方法,将OAuth秘密放在那里。 配置你的Jenkins Job:添加设置GitHub提交状态为Post-build action。将“状态结果”设置为默认消息和状态之一。 在GitHub上检查你的结果:检查你是否在GitHub提交上获得了构建状态和构建执行持续时间。

配置Github





配置詹金斯






配置Jenkins Job




结果

你现在会看到你的提交和分支的状态:

提交状态API允许你看到“回购状态API”。

自2013年4月26日起,你现在可以在你的GitHub回购分支页面上看到构建状态:

这意味着它是另一种方式,通过访问GitHub项目页面来查看这些状态,而不是只有Jenkins。

从2013年4月30日开始,提交状态的API端点已经扩展到允许分支和标记名称,以及提交sha。