有没有办法在我项目的GitHub Readme.md上显示Jenkins构建状态?
我使用Jenkins运行持续集成构建。在每次提交之后,它确保在最终生成文档和发布包之前,所有内容都已编译,并执行单元和集成测试。
仍然存在无意中提交一些破坏构建的内容的风险。对于访问GitHub项目页面的用户来说,知道当前主程序处于该状态是很好的。
有没有办法在我项目的GitHub Readme.md上显示Jenkins构建状态?
我使用Jenkins运行持续集成构建。在每次提交之后,它确保在最终生成文档和发布包之前,所有内容都已编译,并执行单元和集成测试。
仍然存在无意中提交一些破坏构建的内容的风险。对于访问GitHub项目页面的用户来说,知道当前主程序处于该状态是很好的。
当前回答
加上这个答案,也加上这个答案,他们已经回答了这个问题,但没有给我们一个关于这个问题的正确的直觉
我的直觉是这样的:
We need to add status to our GitHub commit, this status is based upon the results of our Jenkins build. To do this we need to give Jenkins access to the GitHub API not to the repo, we do this through OAuth we can create the token going to the GH settings -> Developer settings -> Personal access tokens then for public GH repo just check repo:status, and for private repo check the whole repo section After creating your access token you need to add it to ur Jenkins server: Copy and paste the access token to the GitHub plugin section settings, under ur Jenkins configurations Create a GH server it defaults to api.github.com and add the access token as a secret text credentials. The last step is to add a post build settings when U create ur pipeline.
资源:
以下是YT视频的一个部分,他在其中介绍了上述步骤。 阅读OAuth
其他回答
我所做的很简单:
Install the Hudson Post Task Plugin Create a Personal Access Token here : https://github.com/settings/tokens Add a Post Task Plugin that always put success curl -XPOST -H "Authorization: token OAUTH TOKEN" https://api.github.com/repos/:organization/:repos/statuses/$(git rev-parse HEAD) -d "{ \"state\": \"success\", \"target_url\": \"${BUILD_URL}\", \"description\": \"The build has succeeded!\" }" Add a Post Task Plugin that will put failure if "marked build as failure" curl -XPOST -H "Authorization: token OAUTH TOKEN" https://api.github.com/repos/:organization/:repos/statuses/$(git rev-parse HEAD) -d "{ \"state\": \"failure\", \"target_url\": \"${BUILD_URL}\", \"description\": \"The build has failed!\" }" You can also add a call to pending at the beginning of tests curl -XPOST -H "Authorization: token OAUTH TOKEN" https://api.github.com/repos/:organization/:repos/statuses/$(git rev-parse HEAD) -d "{ \"state\": \"pending\", \"target_url\": \"${BUILD_URL}\", \"description\": \"The build is pending!\" }"
提交状态API允许你看到“回购状态API”。
自2013年4月26日起,你现在可以在你的GitHub回购分支页面上看到构建状态:
这意味着它是另一种方式,通过访问GitHub项目页面来查看这些状态,而不是只有Jenkins。
从2013年4月30日开始,提交状态的API端点已经扩展到允许分支和标记名称,以及提交sha。
我按照亚历克斯的指示做了,而且成功了。
但是,对于GitHub企业,在将服务器添加到Jenkins时需要修改API URL。
例如,如果您的公司是creditcard.com,您的URL将是
https://github.creditcard.com/api/v3/
还有这个插件,它会给你一个徽章的url,你可以在你的README中发布。Md,看起来像这样
https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin
如果你在Jenkins上安装了Github插件,你可以在Post build操作中这样做: