有没有办法在我项目的GitHub Readme.md上显示Jenkins构建状态?
我使用Jenkins运行持续集成构建。在每次提交之后,它确保在最终生成文档和发布包之前,所有内容都已编译,并执行单元和集成测试。
仍然存在无意中提交一些破坏构建的内容的风险。对于访问GitHub项目页面的用户来说,知道当前主程序处于该状态是很好的。
有没有办法在我项目的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。
[](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。