GitHub组织Repo + Jenkins(GitHub插件)集成

lea*_*mer 6 continuous-integration hudson github jenkins jenkins-plugins

我在GitHub上有一个私人存储库组织.我也让Jenkins设置在服务器上的端口8080上运行,并安装了GitHub插件.我在GitHub上为我的jenkins用户创建了一个帐户,该帐户位于所有者组中.

当我将更改推送到我的开发分支(或主分支,似乎都没有工作)时,我正试图触发jenkins的工作.

当我查看Jenkins的GitHub Hook Logs时,它说Polling还没有运行.当我去"管理Jenkins"时,GitHub插件说我的帐户在我测试时已经过验证.

有关如何配置的任何见解?我有多个我想使用的存储库,因此部署密钥似乎不是我的解决方案.

Von*_*onC 8

更新:

正如Craig Ringer他的回答中提到的,您可以Grant READ permissions for /github-webhook在GitHub插件设置下选择"配置Jenkins",允许在不进行身份验证的情况下调用webhook.

另一个更新:Webhooks现在(2014年12月)可用于组织:请参阅组织的WebHooks API.


注意:问题4中的哈德森,github上,插件约为:

Last GitHub Push

Polling has not run yet.
Run Code Online (Sandbox Code Playgroud)

结论是:

没关系,唯一缺少的是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)对于名为user的GitHub,只需选择Overall Read only权限.稍后我们将使用此用户使用GitHub钩子.

注意:我们在上面的步骤中添加的admin和GitHub用户不会创建用户.然后你要创建一个具有相同名称的真实用户.雅,我知道,Jenkins UI有点奇怪.

转到管理Jenkins > Manage Users > Create User.创建admin和GitHub用户.

与Github网络挂钩挂钩

现在,当新的提交或分支被推送到Github时自动运行构建,我们必须设置存储库.

进入存储库的钩子页面.例如

github.com/<username>/<project_name>/admin/hooks
Run Code Online (Sandbox Code Playgroud)

AVAILABLE SERVICE HOOKS > Post-Receive URLs,添加github:github@your-ci-server.com/github-webhook/.

github:github是我们之前创建的用户.

然后我们必须用Github验证Jenkins.转到管理Jenkins>配置系统,在GitHub Web Hook下,添加您的Github用户名和密码,然后单击Test Credential按钮以使用Github授权一次.