有没有办法在我的项目的GitHub Readme.md上显示Jenkins构建状态?
我使用Jenkins运行持续集成构建.在每次提交之后,它确保在最终生成文档和发行包之前编译所有内容,以及执行单元和集成测试.
仍然存在无意中犯下破坏构建的东西的风险.访问GitHub项目页面的用户知道当前主服务器处于该状态会很好.
Mar*_*nas 159
好的,这里是你如何设置Jenkins来设置GitHub构建状态.这假设你已经让Jenkins使用GitHub插件配置为在每次推送时进行构建.
转到GitHub,登录,转到设置,个人访问令牌,单击生成新令牌.

检查回购:状态(我不确定这是否必要,但我做到了,它对我有用).

生成令牌,复制它.
确保您要使用的GitHub用户是存储库协作者(用于私有存储库),或者是具有推送和拉取访问权限(用于组织存储库)到您要构建的存储库的团队的成员.
转到Jenkins服务器,登录.
在GitHub Web Hook下,选择让Jenkins自动管理挂钩URL,然后指定您在步骤3中获得的GitHub 用户名和OAuth令牌.

验证它是否适用于Test Credential按钮. 保存设置.
找到Jenkins作业并在GitHub上添加Set build status提交到构建后的步骤

而已.现在进行测试构建并转到GitHub存储库以查看它是否有效.单击主存储库页面中的Branches以查看构建状态.

您应该看到绿色复选标记:

Ale*_*lex 40
与此同时,Jenkins和GitHub的UI发生了一些变化,我花了一段时间才弄清楚如何正确配置Jenkins.这里的解释基于Jenkins版本2.121.1.
我还假设您已经配置了由webhook或轮询触发的Jenkins作业.这些是我为实现它而采取的步骤:
repo:statusConfigure System并将OAuth Secret添加为GitHub服务器 - Secret Text用作将OAuth Secret置于其中的身份验证方法.Set GitHub commit status为构建后操作.将状态结果设置为One of the default messages and statuses.您现在将看到提交和分支的状态:
Nat*_*tim 36
我做的很简单:
添加一个始终成功的Post Task插件
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!\"
}"
Run Code Online (Sandbox Code Playgroud)添加一个Post Task插件,如果"标记为构建失败"将导致失败
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!\"
}"
Run Code Online (Sandbox Code Playgroud)您还可以在测试开始时添加对待处理的呼叫
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!\"
}"
Run Code Online (Sandbox Code Playgroud)
Kor*_*tor 23
这个插件应该工作:https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin
您应该能够将这样的徽章嵌入到您的README.md文件中:

mho*_*815 11
还有这个插件会给你一个徽章网址,你可以在README.md中发布,看起来像这样

https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin
如果你有Github插件安装Jenkins,你可以这样做Post build actions:

在README.md 中添加以下行并根据 jenkins 项目更改两个 URL。
[](https://jenkins../..project/lastBuild/)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81115 次 |
| 最近记录: |