更新:
正如Craig Ringer在他的回答中提到的那样,您可以Grant READ permissions for /github-webhook
在 GitHub 插件设置下的“配置 Jenkins”中进行选择,从而允许在没有身份验证的情况下调用 webhook。
另一个更新:Webhooks 现在(2014 年 12 月)可用于组织:请参阅WebHooks API for orgs。
注意:hudson-github-plugin的第 4期是关于:
Last GitHub Push
Polling has not run yet.
结论是:
没关系,唯一缺少的部分是 github 用户的权限复选框,它没有在互联网上的任何地方记录。
那么这是关于您的 Jenkins 用户的权限问题吗?
文章“在 Ubuntu 上设置 Jenkins-CI 以进行无痛 Rails3 应用程序 CI 测试”包括以下过程:
要限制 CI 系统并允许您的团队成员使用或查看构建日志,首先您必须创建一个帐户。
- 去
Manage Jenkins > Configure System
,
- 选中
Enable Security
复选框
- 下
Security Realm
,选择Jenkins自己的用户数据库
- 选中
Allow users to sign up
复选框
- 在 下
Authorization
,选择Project-based Matrix Authorization Strategy
- 添加名为 admin 的第一个用户和另一个具有 GitHub 的用户(注意:管理员访问的用户名必须是 admin)对于 GitHub 命名用户,只需选择整体只读权限。稍后我们将在 GitHub 挂钩中使用此用户。
注意:我们在上述步骤中添加的 admin 和 GitHub 用户不会创建用户。然后你必须创建一个具有相同名称的真实用户。是的,我知道,Jenkins UI 有点奇怪。
转到管理Jenkins > Manage Users > Create User
。创建管理员和 GitHub 用户。
与 Github 网络挂钩挂钩
现在要在新的提交或分支被推送到 Github 时自动运行构建,我们必须设置存储库。
转到您的存储库的挂钩页面。例如
github.com/<username>/<project_name>/admin/hooks
在 下AVAILABLE SERVICE HOOKS > Post-Receive URLs
,添加github:github@your-ci-server.com/github-webhook/
。
github:github
是我们之前创建的用户。
然后我们必须用 Github 验证 Jenkins。转到 Manage Jenkins > Configure System 并在 GitHub Web Hook 下,添加您的 Github 用户名和密码,然后单击 Test Credential 按钮以使用 Github 进行一次授权。