繁体   English   中英

如何在对私有github存储库进行推送时触发Jenkins构建

[英]How to trigger a Jenkins build when a push is made to a private github repository

我的Jenkins Continuous Integration Server正在Ubuntu主机上运行,​​配置如下:

  • 詹金斯诉1.463
  • github-api 1.23
  • Jenkins GIT插件1.1.18
  • GitHub插件1.2

轮询SCM有效。 这很重要,因为我希望你知道我的其他jenkins相关配置运行良好,除了这个帖子构建触发器废话。

我想配置Jenkins,以便当更改被推送到私有github存储库中的开发分支时,这将触发包含最新更改的构建。

回购在我的个人github帐户下作为所有者。 我们打电话给这位老板

我包括另一个github.com帐户作为合作者。 我们打电话给这个合作者吧

我这样做的原因是因为如果我不再参与该项目,其他人可以继续进行维护。

ubuntu中jenkins用户的SSH密钥存储在协作者下

我咨询过以下链接:

http://nepalonrails.tumblr.com/post/14217655627/set-up-jenkins-ci-on-ubuntu-for-painless-rails3-app-ci

https://issues.jenkins-ci.org/browse/JENKINS-10391

https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin

http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/

https://wiki.jenkins-ci.org/display/JENKINS/Logging

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

它都不起作用。 有些看起来有点过时甚至矛盾。

我已经为jenkins ubuntu用户添加了github.com到knownhosts。 我添加了github webhook。

我在jenkins尝试过手动和自动github webhook设置。

什么都行不通。

我需要一步一步指导如何在不轮询github的情况下实现这一目标。

我有类似的问题,在查看主Jenkins 系统日志后,我看到以下内容:

Feb 15, 2013 8:35:44 PM hudson.security.csrf.CrumbFilter doFilter
WARNING: No valid crumb was included in request for /github-webhook/.  Returning 403.

解决方案是关闭CSRF保护 - 管理Jenkins>配置系统>防止跨站点请求伪造攻击。 该复选框位于第一个配置部分的底部。 在那之后,一切似乎都很愉快。

/log url(管理Jenkins->系统日志)下为com.cloudbees.jenkins类别创建一个带有跟踪级别日志记录的记录器。

验证存储库管理屏幕的Service Hooks部分下是否有Webhook URL条目。

单击测试挂钩 ,您应该在新创建的记录器下看到一些日志活动。

最后,检查已配置为由GitHub推送触发的构建的GitHub轮询日志操作。

一个常见的错误是在没有更改的情况下测试这样的提交挂钩

钩子仅用于提示轮询,除非检测到更改,否则不会执行构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM