当前位置: 首页 > 面试题库 >

推送到私有github存储库时如何触发Jenkins构建

申屠亦
2023-03-14
问题内容

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

  • 詹金斯v 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

没有一个是行不通的。有些看起来有些过时甚至矛盾。

我已经将github.com添加到jenkins ubuntu用户的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保护-管理詹金斯>配置系统>防止跨站点请求伪造漏洞。该复选框仅在第一个配置部分的底部。在那之后,一切似乎都很愉快。



 类似资料:
  • 问题内容: 我有一个标记为的docker 映像,并且在dockerhub上有一个名为的私有仓库。 当我推动我的工作时,我最终总是会碰到公共仓库。 具体将我的图片推送到我的私人仓库的确切语法是什么? 问题答案: 您需要先使用正确标记图像: 然后码头工人使用相同的标签推。 例:

  • 我有一个docker图像标记为,我在dockerhub上有一个名为的私人回购 当我推我的时,我最终总是点击公共回购。 将我的图像推送到私人回购协议的确切语法是什么?

  • 我在GitHub上创建了一个名为“消息”的存储库和一个同名的本地存储库。我试图将文件从我的本地回购到远程,但得到这个错误: 致命:远程端意外挂断。 我想这是一个认证问题。当我逃跑时 我确实收到了一条信息,表明我的钥匙坏了。所以我将我的~/. ssh/github_rsa.pub添加到GitHub帐户中的SSH密钥(删除了已经存在的密钥),并再次运行该命令。这次我收到一条消息说- 嗨,修女!您已成功

  • 问题内容: 我希望Jenkins从托管在Github上的私有存储库自动获取数据。但是我不知道如何完成该任务。尝试了文档,为jenkins用户生成了ssh- key,我所看到的就是:“无法克隆存储库”。我已经检查过网址-它们是有效的。 任何线索,也许您知道一些描述此类内容的文档/博客/内容? 问题答案: 也许GitHub 对您正在寻找的部署密钥提供支持?引用该页面: 什么时候应该使用部署密钥? 很简

  • 问题内容: 我在BitBucket上托管了一个git存储库,并在该存储库和Jenkins服务器之间设置了SSH身份验证。我可以手动构建Jenkins,但无法在BitBucket上获取Jenkins服务来触发构建。 访问 http:/// job / / build?token =可以 正确启动构建。 为什么不将更改推送到BitBucket会导致Jenkins启动构建? 问题答案: 我设置了我们的J

  • 我有一个不包含Jenkinsfile的存储库——我没有办法影响存储库本身。这意味着我既不能在存储库中添加也不能更改任何文件(在本例中,它是Qt-repo)。 我想做的是创建多个jenkinsfile,每个文件都为不同的目标配置和构建Qt库,或者运行不同的附加脚本<所有这些Jenkins文件将收集在不同的存储库中。 现在,我的问题是如何创建一个管道作业,一旦Qt存储库中发生更改,就会触发该作业,但使